Метод HTML / PHP Post для разных серверов

Я хочу создать форму метода POST, которая отправляет детали в PHP-скрипт на другом сервере (то есть не его localhost). Возможно ли это? Я думаю, что GET в порядке, возможно ли POST?

<form method="POST" action="http://the.other.server.com/script.php"> 

Если вы хотите сделать это на своем сервере (т. Е. Хотите, чтобы ваш сервер выступал в качестве прокси-сервера), для этого вы можете использовать cURL.

 //extract data from the post extract($_POST); //set POST variables $url = 'http://domain.com/get-post.php'; $fields_string = ""; $fields = array( 'lname'=>urlencode($last_name), // Assuming there was something like $_POST[last_name] 'fname'=>urlencode($first_name) ); //url-ify the data for the POST foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } $fields_string = rtrim($fields_string,'&'); //open connection $ch = curl_init(); //set the url, number of POST vars, POST data curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); //execute post $result = curl_exec($ch); //close connection curl_close($ch); 

Однако, если вы просто хотите отправить запрос POST на другой сервер, вы можете просто изменить атрибут action :

 <form action="http://some-other-server.com" method="POST"> 

Есть еще один вопрос о переполнении стека, который показывает лучший способ URL-запроса переменных. Это лучше, потому что метод, показанный в ответе выше, ломается, когда вы используете вложенные ассоциативные массивы (они же хеши).

Как использовать массивы в запросах cURL POST

Если вы действительно хотите создать эту строку запроса вручную, вы можете. Тем не менее, http_build_query сделает ненужным раздел "url-ify the data for POST". – Бенджамин Пауэрс 28.11.12 в 2:48