【问题标题】:Encoded url from GET in curl functioncurl函数中来自GET的编码url
【发布时间】:2018-09-10 18:30:04
【问题描述】:

我从 GET 传递一个 url 并用它发出一个 curl 请求,但是 url 需要编码。

我已尝试使用正确的函数 urlencode,但我似乎无法让它工作。也许我没有正确启动它,不确定。

我已经尝试过很多变种...

<?php
$url=$_GET['url'];
$encoded=$urlencode['url'];
exec("curl '".$encoded."' -H
............etc

在测试时,如果我在通过 mysite.com/curl.php?url= 之前对 url 进行编码,curl 脚本会执行良好。

感谢收看。

【问题讨论】:

  • "在测试时,如果我在通过 mysite.com/curl.php?url= 之前对 url 进行编码,curl 脚本执行良好。" — 这是因为您错误地识别了问题。 URL 需要进行 URL 编码,以便您可以从 $_GET 读取它,而不是您可以将其传递给 curl
  • 那么$urlencode['url'] 中使用的数组$urlencode 在哪里或是什么?或者这是问题的一部分,也许是错字?
  • error reporting 添加到文件顶部测试时在您打开PHP 标记之后,例如&lt;?php error_reporting(E_ALL); ini_set('display_errors', 1);,看看它是否会产生任何结果。跨度>
  • @Quentin - 这完全有道理。感谢您指出这一点。因此,在您发表评论之后,我所做的是在将 url 传递给 mysite.com/curl.php?url= 之前对 url 进行 base64 编码。然后在 php 脚本中,_GET 能够获取 base64,然后我可以对其进行解码并传递给我的 curl。非常感谢您的帮助。如您所见,我是新手。
  • @MiguelGuerrero — 为什么要对它进行 base64 编码?这只是意味着您必须付出额外的努力才能对其进行 base64 解码。而是对其进行 URL 编码。

标签: php curl get urlencode


【解决方案1】:

您可以使用以下解决方案从 curl 函数中的 GET 获取编码的 URL:

$url=$_GET['url'];
$encoded=urlencode($url);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多