HTMLフォームを使用せずにPHPでHTTPPOSTを送信することは可能ですか?これはPHPを使用して内部的に実行できますか?そうでない場合は、JavaScriptまたはjQueryを使用していますか?
質問する
4297 次
4 に答える
4
PHPでPOSTリクエストを作成するには、いくつかの方法があります。これは、裸のPHPコードを使用しており、外部ライブラリは必要ありません。
<?php
function postRequest($url, $data, $optionalHeaders = null)
{
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optionalHeaders !== null) {
$params['http']['header'] = $optionalHeaders;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $errormsg");
}
return $response;
}
于 2012-05-20T19:14:40.923 に答える
0
はい。ほとんどすべての言語を使用して、HTTPPOSTまたはGETリクエストを送信できます。私はPHPの専門家ではありませんが、HTTPRequestsを処理するメソッドを探し、そのようなライブラリのメソッドを使用してPOSTデータをリクエストに追加してみてください。
于 2012-05-20T19:06:18.557 に答える
0
cURLphp拡張機能を使用できます。以下でコードを調べることができます:
<?php
function httpPost($url,$params){
$postData = '';
//create name value pairs seperated by &
foreach($params as $k => $v)
{
$postData .= $k . '='.$v.'&';
}
rtrim($postData, '&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, count($postData));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$output=curl_exec($ch);
curl_close($ch);
return $output;
}
$params = array(
"name" => "Ravishanker Kusuma",
"age" => "32",
"location" => "India"
);
echo httpPost("http://www.jmediatechnology.eu/script.php",$params);
?>
その他の例:http://hayageek.com/php-curl-post-get/#curl-post
于 2014-03-18T08:23:21.740 に答える