当前位置: 首页 > 知识库问答 >
问题:

使用修改的头的php cURL请求

空浩淼
2023-03-14

我想捕获一个站点的响应(http://gnocchi-www.buffalo-ggn.net/bingo2-v2.47.0-JACKET/js/cache/static_desktop_data.json)在我的php文件中,在数据库中写入可用的集合项。

如果我在浏览器中输入地址,就会得到一个json字符串作为响应。但是如果我使用cURL请求,我会得到一个空响应。

这是我的卷曲代码:

$url = 'http://gnocchi-www.buffalo-ggn.net/bingo2-v2.47.0-JACKET/js/cache/static_desktop_data.json';
$headers = array( 
        "Content-Type: application/x-www-form-urlencoded", 
        "Host: gnocchi-www.buffalo-ggn.net", 
        "Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4", 
        "Accept-Encoding: gzip,deflate,sdch", 
        "Accept: */*"
    ); 

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_GET, true);
curl_setopt( $ch, CURLOPT_HEADER, true);
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36");
curl_setopt( $ch, CURLOPT_REFERER, "https://gs1.wac.edgecastcdn.net/805F48/gnocchi/bingo2-v2.47.0-JACKET/assets/Game.swf");
curl_setopt( $ch, CURLOPT_VERBOSE, true);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);
$response=curl_exec( $ch );
echo $response;

当我在浏览器中输入url时发送的标题是:

主持人:gnocchi-www.buffalo-ggn.net

连接:保持活力

接受:text/html、application/xhtml-xml、application/xml;q=0.9,图像/webp,/;q=0.8

用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/32.0.1700.107 Safari/537.36

接受编码:gzip、deflate、sdch

Accept-Language: de-DE, de; q=0.8, en-US; q=0.6, en; q=0.4

有人能帮我解决这个问题吗???

共有1个答案

凌和悦
2023-03-14

从代码中删除此项:

"Accept-Encoding: gzip,deflate,sdch",

如果您确实想要发送任何编码请求,那么在代码中添加这个curl选项。

curl_setopt( $ch, CURLOPT_ENCODING, "");

最后,这对libcurl的现代版本没有任何影响。所以把这个拿走。

curl_setopt( $ch, CURLOPT_GET, true);
 类似资料:
  • 一、修改请求 在上一步中,我们恢复了截获的请求,没有进行任何更改。当我们在将请求转发到目的地之前修改被拦截的请求时,就会发挥拦截的全部功能。您可以继续上一步中的窗口和已配置的拦截规则。 欢迎来到mitmproxy教程。在本课程中,我们将介绍对截获请求的修改。 点击查看教程 二、影片内容 欢迎来到mitmproxy教程。在本课程中,我们将介绍对截获请求的修改。 我们配置和使用与上一教程中相同的拦截规

  • 我是改造的新手,并试图使用改造提出POST请求。我的 POST 请求有一个复杂的 JSON 正文,如下所示: 有效载荷: 我将接口定义为 我不确定我的用户类应该是什么样子,我希望有效载荷和上面提到的一样,到目前为止我的用户类是 我不确定Personalinfo,ContactInfo等是否应该是具有JSON请求中提到的所有字段的单独类,或者我应该将它们作为User类中的内部类以及如何使用User类

  • 更新:为了给你更多的上下文,我计划通过使用PhoneGap将chrome扩展即时音乐移植到Android应用程序中。一些在PC上允许的YouTube视频在手机上不允许,我怀疑这是因为Android应用程序中嵌入的YouTube player没有引用者标题。我正试图找到一个解决这个问题的办法,这样我就可以在手机上播放这样的视频了。

  • 问题内容: 我试图对Java Html Document进行一些改进,但是我遇到了与之相关的问题。一件事是,如果用户代理是Java VM,则某些服务器会阻止请求。另一个问题是不会设置或标头字段。由于多个站点使用这些字段来验证是否从其自己的站点访问了内容,因此在此也将我屏蔽了。据我所知,唯一的解决方案是替换HTTP协议的URL处理程序。还是有任何方法可以修改默认的HTTP处理程序? 问题答案: 打开

  • 有没有人知道如何发送,如果修改后,因为标题与网址请求? 我正在尝试获取状态代码,它会告诉我RSS页面是否已更新。 更新#1:我能够进行以下测试: 但奇怪的是,如果我删除整个iOS应用程序并运行它,我会得到304状态代码。但是,如果我注释掉添加if Modified Since值的行并重新运行它,那么我得到的是200,但是当我取消注释该行并重新执行它时,304错误不会返回……它是一个200错误代码。

  • 我需要执行修改后的请求,但我有一个问题,我不能很好地理解。在尝试使用代码之前,我用Postman和request测试了api调用,如下所示: 下面是我的android代码: 编辑请求: null