使用PHP模拟XMLHttpRequest客户端

时间:2012-07-05 03:46:28

标签: php

为了测试我应该在哪里提供网站的网址,你能告诉我上面代码中的例子吗?

$r = new HTTPRequest("server.php", HTTP_METH_POST);
$r->addPostFields(array('omg' => 'wtf'));
$r->send();
var_dump($r->getResponseCode());
var_dump($r->getResponseBody());

2 个答案:

答案 0 :(得分:0)

只需使用addHeaders()

XMLHttpRequest是X-Requested-With标头的值,所以你必须这样做:

$r = new HTTPRequest("http://mywebservices.com/somewebserver.php", HTTP_METH_POST); 
$r->addHeaders(array('X-Requested-With' => 'XMLHttpRequest'));

从PECL安装HTTP的说明:http://www.php.net/manual/en/http.setup.php

答案 1 :(得分:0)

phpdev已经很好地回答了你的问题,如果你安装HTTP扩展并根据答案进行,它肯定会有效。

$r = new HttpRequest('http://your-required-url-here', HttpRequest::METH_POST);
$r->addPostFields(array('omg' => 'wtf'));
echo $r->send()->getBody();

您在之前的评论中提供的网址格式不正确,您似乎已粘贴了一些随机网址。

这只是使用php CURL的另一种方法。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.openfirms.com/index.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
$data = array('omg' => 'wtf');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
print_R($output);

这将输出指定url的内容。希望它会有所帮助