![](/img/trans.png)
[英]Php url handling -urlencode not working -Stirng to url -special charater handling
[英]PHP urlencode a URL post field
我正在使用curl调用API POST并传递15个post字段,其中一个是实际的wbsite URL。 例如
https://www.test.com?URL=https://www.myurl.com;&Name=John
使用urlencode会转换URL post字段中的字符,并且接收POST调用的API不会将其识别为实际URL。 有什么方法可以在放置时保持URL字符串不变吗?
如果使用的是GET
查询参数,则需要对值进行urlencode,然后在后端对其进行解码:
https://www.test.com?URL=https%3A%2F%2Fwww.myurl.com
接着:
urldecode($_GET['url'])
对于POST
, application/x-www-form-urlencoded
,但对于application/json
无关紧要。
另外,只要抬起头,您就有了额外的钱
;
在您的网址中,如果包含它,将使其无效。
编辑:
我将另外补充一点,在一般情况下,这是很好的做法,从查询arugments /表单数据接收总是 urldecode值。 这里的总体思路是,虽然你可能不希望 urlencoded的数据,这就是网络的构建方式-你应该建立自己的代码的方式,它是由客户端。 这被认为是数据卫生的重要步骤,应始终在验证之前进行。
您可以使用php内置方法来解码url编码的数据。
$actualUrl = urldecode ($_GET ['url']);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.