PHP发送AMF请求cURL

时间:2015-09-12 18:15:08

标签: php curl amf

由于这是我在本网站上的第一篇文章,请原谅我是否犯了一些错误(如错题,遗忘等)。

我正在开发PHP脚本(机器人),我使用cURL来实现这一点 所以我编写了很多东西,我总能找到解决问题的方法。只是告诉你我在写这里之前在很多地方搜索过。

所以我的问题是我必须使用PHP发送AMF请求。我收集了很多信息,测试了很多代码,但是每次都得到不同的结果都没有效果。
我所知道的是发送请求,在哪里发送它,它的引用者,发送它的方法(POST / GET,POST),但是我做错了。 > 我会粘贴我测试过的数百个代码中的一个,以便您可以更接近地看到问题。

$ url包含amf网关的网址
$ postfields包含amf请求,我不确定它是否需要放在这里,但我已经尝试将它添加到header数组中了$ $ referer包含referer(显然)。

这不是整个代码,但您需要的值已经在这里。

function go_page($url, $postfields = array(), $referer = '')
{
    global $ch;

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
    curl_setopt($ch, CURLOPT_REFERER, $referer);

    return curl_exec($ch);
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/x-amf'));
$postfields = array('\x00\x03\x00\x00\x00\x01\x00\x16\x57\x68\x65\x65\x6c\x53\x65\x72\x76\x69\x63\x65\x2e\x73\x70\x69\x6e\x57\x68\x65\x65\x6c\x00\x02\x2f\x31\x00\x00\x00\x09\x0a\x00\x00\x00\x01\x02\x00\x01\x32');
echo go_page($url, $postfields, $referer);

这是输出:HTTP/1.1 100 Continue HTTP/1.1 200 OK Date: Sat, 12 Sep 2015 18:22:31 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.4.28 X-Cobalt: loaded Content-Length: 0 Connection: close Content-Type: text/html; charset=UTF-8

先谢谢你的帮助......

编辑:我已经尝试将请求放在标头数组中。

0 个答案:

没有答案