【发布时间】:2017-05-31 20:26:05
【问题描述】:
我正在寻找一种在 PHP 中发送带有标头和内容的 POST 请求的方法,我在 stackoverflow 上找到了一个很棒的解决方案,这里是代码:
<?php
$uid1 = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyz", 8)), 0, 8);
$uid2 = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyz", 4)), 0, 4);
$uid3 = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyz", 4)), 0, 4);
$uid4 = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyz", 4)), 0, 4);
$uid5 = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyz", 12)), 0, 12);
$uid6 = substr(str_shuffle(str_repeat("0123456789", 1)), 0, 1);
$randuid = ("demo."."00000000"."-".$uid2."-".$uid3."-".$uid4."-".$uid5);
$url = 'https://www.something.com/rest/client/users/ticket/demo';
$data = array('password' => 'demo', 'deviceUid' => $randuid, 'deviceModelId' => '14');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded; charset=UTF-8\r\n",
'method' => 'POST',
'content' => http_build_query($data),
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
?>
我得到了非常好的反应,但是当我第二次尝试时,我什么也没得到。当我更改我的 IP 地址时,我再次积极响应,然后再次第二次它不起作用。 它给了我以下错误:
打开流失败:HTTP 请求失败! HTTP/1.1 503 服务暂时 > > 不可用
但是当我在http://requestmaker.com/ 上发布请求时 我在这个网站上发送了 1000 多个请求,并且每次都完美无缺。 这家伙所做的很棒,据我所知,这个文件正在发送请求 http://requestmaker.com/requester.php 但那里没有更多信息。 他不是每次都从新的 IP 地址发送请求,因为那是不可能的。 这个开发商有什么秘密?
【问题讨论】: