gpt4 book ai didi

php - 使用数组发送 HTTP 帖子 - PHP

转载 作者:行者123 更新时间:2023-12-04 06:44:19 25 4
gpt4 key购买 nike

我正在尝试使用这个不错的功能:

function do_post_request($url, $data, $optional_headers = null) {
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));

if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}

return $response;
}

要将 POST 命令发送到特定的 url,我的问题是我正在尝试以数组的形式发送 post 参数,就像这样
login[username]: myusername
login[password]: mypassword,

但是我不能这样做,调用函数:
            $login_post = array('login[username]' => $email,
'login[password]' => '');
do_post_request(getHost($website['code']), $login_post);

始终以以下形式将数据发送到帖子:
username: myusername
password: mypassword

如何避免这种情况(不使用 curl)?非常感谢。

谢谢

叶海亚

最佳答案

也许与那个?

<?php
// Define POST data

$donnees = array(
'login' => 'test',
'password' => '******' );

function http_build_headers( $headers ) {

$headers_brut = '';

foreach( $headers as $name => $value ) {
$headers_brut .= $name . ': ' . $value . "\r\n";
}

return $headers_brut;
}

$content = http_build_query( $donnees );

// define headers

$headers = http_build_headers( array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Content-Length' => strlen( $content) ) );

// Define context

$options = array( 'http' => array( 'user_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0',
'method' => 'POST',
'content' => $content,
'header' => $headers ) );

// Create context
$contexte = stream_context_create( $options );

// Send request
$return = file_get_contents( 'http://www.exemple.com', false, $contexte );
?>

关于php - 使用数组发送 HTTP 帖子 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3881293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com