使用用户名,密码,param1,param2(字符串数组)在php中没有curl的http帖子?

时间:2011-02-03 17:35:41

标签: php http post curl

我有一个带有主机链接的表单和我可以发布的网址。该方法在线工作正常,我想使用PHP自动输入数据,我怎么做没有卷曲

它将像这样传递(用户名,密码,示例,示例2)

示例2是具有必需参数名称的数据的字符串数组

如果没有任何传递,则错误将显示“登录错误”

如果示例2为空,则显示“Root element is missing。”

2 个答案:

答案 0 :(得分:4)

另请参阅:How to post data in PHP using file_get_contents?

基本上,您可以使用file_get_contents()stream_context_create()发出POST请求。在你的情况下:

$post = http_build_query(array(
    "username" => "user",
    "password" => "pw",
    "example" => "...",
));

$context = stream_context_create(array("http"=>array(
     "method" => "POST",
     "header" => "Content-Type: application/x-www-form-urlencoded\r\n" .
                 "Content-Length: ". strlen($post) . "\r\n",  
     "content" => $post,
))); 

$page = file_get_contents("http://example.com/login", false, $context);

答案 1 :(得分:1)

只需打开到端口80的套接字连接,发送标题(如果你想在创建标题时作弊,可以使用livehttp标题,只需在浏览器发布时进行观察并复制)。然后在标题之后发送数据。