PHP urlencode一个URL发布字段

时间:2019-01-10 16:13:38

标签: php curl

我正在使用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字符串不变?

2 个答案:

答案 0 :(得分:1)

如果您使用GET查询参数,则需要对值进行urlencode,然后在后端对其进行解码:

https://www.test.com?URL=https%3A%2F%2Fwww.myurl.com

然后:

urldecode($_GET['url'])

对于POSTapplication/x-www-form-urlencoded也是这样,但对于application/json来说并不重要。

  

另外,请注意,您的URL中还有一个额外的;,如果包含了它,则将使其无效。

编辑:

我将另外补充一点,通常来说,始终从查询rugging /表单数据接收的urldecode值是一种很好的做法。一般的想法是,尽管您可能不想要 urlencoded数据,但这却是构建网络的方式-您应该以取决于代码的方式构建代码客户。这被认为是数据卫生的重要步骤,应始终在验证之前进行。

答案 1 :(得分:1)

您可以使用php内置方法来解码url编码的数据。

Sub delete
   With WorkSheets("Sheet1") 'Change to your sheet
       Dim rw as Long
       On Error Resume Next
           rw = Application.WorksheetFunction.Match("SHOP TICKETS",.Range("B:B"),0)
       On Error Goto 0

       If rw > 0 Then
           .Range(rw & ":" & rw + 3).entirerow.delete
       End if
    End with
 End sub