【问题标题】:How to Send Headers Through PHP Proxy?如何通过 PHP 代理发送标头?
【发布时间】:2011-02-11 17:13:03
【问题描述】:

好的,我对 AJAX 请求有疑问。我目前有这个网址:

http://www.google.com/images?hl=en&safe=off&gbv=2&tbs=isch%3A1&sa=1&q=cars+imagesize%3A500x500&aq=f&aqi=&aql=&oq=&gs_rfai=&start=0

然后我通过将字符串修改为以下内容将其传递给我的代理脚本:

proxy.php?url=http://www.google.com/images?hl=en&safe=off&gbv=2&tbs=isch%3A1&sa=1&q=cars+imagesize%3A500x500&aq=f&aqi=&aql=&oq=&gs_rfai=&start=0

我需要使用 PHP 代理脚本来获取该页面的 HTML,以便我可以使用 javascript 解析它。但是,问题在于该 URL 中的标头也被发送到代理脚本,因此,我收到“格式错误或非法请求”错误。我很确定这两组不同的标头是问题所在,因为如果我只是将原始 URL 字符串替换为“http://wwww.google.com”,代理会正确返回页面的 HTML。

所以基本上,我不知道如何解决这个问题。我是一个完整的 PHP 菜鸟,我尝试在将原始 URL 附加到“proxy.php?url=”之前对其进行转义,但这并不能解决任何问题。有什么想法吗?

谢谢!

【问题讨论】:

    标签: php ajax proxy header cross-domain


    【解决方案1】:

    想通了——您需要在原始 URL 字符串上使用 encodeURIComponent(),然后再将其附加到代理字符串。

    【讨论】:

      猜你喜欢
      • 2021-08-09
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      • 2012-11-20
      • 2016-07-03
      • 2020-12-11
      • 1970-01-01
      • 2018-11-25
      相关资源
      最近更新 更多