【问题标题】:get URL Answer with curl or json使用 curl 或 json 获取 URL 答案
【发布时间】:2012-12-17 19:24:36
【问题描述】:

我需要得到一个页面的答案。 网址如下所示:

sp2.looki.de/index.php?page=newsysview&cid=48713&ppx=71&ppy=32&cid=48713&tcv=1355771664807&_=_585_204

我得到的答案是这样的:

{"module":"system","error":[],"syslist":{"15":{"con1":"0","con2":"0","kgm":" 257506","kgk":"317370","kgt":"10300255","ppx":"71","ppy":"32","ppz":"15","pname":"Ckaleme" ,"playerid":"5428","flag":"1","noob":"85315748","sperrflag":"-1","nick":"S7alker","tag":"-R- ","pid":"707","allianzid":"707","inaktiv":1,"platz0":"82","punkte0":"187044480","platz1":"196","punkte1 ":"21326785","platz2":"87","punkte2":"105724483","platz3":"69","punkte3":"59993212","oldlogin":null,"nickdays":"0 ","isnoob":false}},"tflist":[],"ppx":71,"ppy":32,"allianzid":3225,"allianzpid":3225,"debug":{"parsetime": [{"name":"Start","parsetime_complete":"0.000","parsetime_last":"0.000"},{"name":"Ende","parsetime_complete":"0.014","parsetime_last":"0.014 "}],"parsetime_total":"0.014","querytime":0.0026}}

我尝试过使用 CURL、file_get_contents 等...但答案只是一个

www:重定向


代码已编辑....没有结果

$data  = "http://some.site.de/index.php?page=newsysview&cid=48713&ppx=50&ppy=50&cid=48713&tcv=1355426935816&_=_552_140";
$ch = curl_init($data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);

页面 --> http://sp2.looki.de/index.php?page=newsysview&cid=48713&ppx=50&ppy=50&cid=48713&tcv=1355511915397&_=_482_292

我得到一个 json 作为答案

所以......经过几天的尝试,我已经没有任何想法了。 不知道如何登录那里,跳转到指定页面并从那里读取 json。 也许有人有一个好主意来帮助我。 登录页面在这里 --> http://sp2.looki.de/

:'(

编辑 2

我卡住了....

我现在有以下代码...

$data1 = "http://sp2.looki.de/index.php?page=newsysview&cid=48713&ppx=50&ppy=50&cid=48713&tcv=1355511915397&_=_482_292";
$ch = curl_init ($data1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$data = curl_exec ($ch);

在我的var_dump($data) 中,它只是一个{"www-redirect": "/"}

为什么?

哦....提示:

原地址为:http://sp2.looki.de/index.php?page=gui&cid=666#nothing

$data1 中的地址似乎是一个 ajax 请求。

【问题讨论】:

  • some.site.de 不存在(至少根据我的本地 DNS)。
  • 您需要启用CURLOPT_FOLLOWLOCATION 设置以跟随重定向。我相信这一切都在PHP MANUAL 中,或者只是访问地址,看看它通向哪里?
  • @adeno 对我来说听起来像是一个答案,而不是评论;-)
  • @JanDvorak ;) ...当然...域名不是正确的。
  • 我现在的代码:> $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $data); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); curl_exec($ch); ...没有结果,只是一个 {"www-redirect": "/"} curl_close($ch);

标签: php javascript curl


【解决方案1】:

确保您在 curl 请求中激活了关注位置:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

否则,您将强制它不遵循“位置:”标题

http://php.net/manual/es/function.curl-setopt.php

另外,可能网站不允许直接查询该 URL,尝试使用 curl 的“Referer”值来欺骗它

curl_setopt($ch, CURLOPT_REFERER, 'http://some.site.de/');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-05
    • 2012-07-13
    • 1970-01-01
    • 2015-06-02
    • 2018-02-11
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多