Реклама на сайте Advertise with us

HTTP: POST query - как правильно написать запрос на PHP

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 03.04.03
Сообщения: 586
Рейтинг: 75

Ссылка на сообщениеДобавлено: 05/06/06 в 14:04       Ответить с цитатойцитата 

Код:
function query_POST( $server, $url, $data) {
  $fp = fsockopen( $server, 80, $errno, $errdesc);
  if (!$fp) { return(false); } else
  {
    $request  = "POST $url HTTP/1.0\r\n";
    $request .= "Host: $server\r\n";
    $request .= "Referer: http://www.google.com/index.htm\r\n";
    $request .= "User-Agent: Internet Explorer\r\n\r\n";
    $request .= $data;
    fputs( $fp, $request);
.....
$data = "param1=" . urlencode($value1);
$data .= "&param2=" . urlencode($value2);


так вот - почему это скрипт не принимает такую последовательность данных как POST запрос

Подскажите, как нужно поправить запрос, чтобы он стал верным.

0
 

Ревнивый муж подобен турку

С нами с 01.03.06
Сообщения: 4302
Рейтинг: 905

Ссылка на сообщениеДобавлено: 05/06/06 в 14:21       Ответить с цитатойцитата 

Запрос этот?

Disruptor писал:
$data = "param1=" . urlencode($value1);
$data .= "&param2=" . urlencode($value2);


Если этот, то это GET запрос, afaik.

Если тебе надо просто подрочить, жми сюда

0
 



С нами с 03.04.03
Сообщения: 586
Рейтинг: 75

Ссылка на сообщениеДобавлено: 05/06/06 в 14:33       Ответить с цитатойцитата 

Дык он идет после тела запроса или я что-то не так делаю?

Подскажи, как правильно.

0
 



С нами с 03.04.03
Сообщения: 586
Рейтинг: 75

Ссылка на сообщениеДобавлено: 05/06/06 в 14:35       Ответить с цитатойцитата 

Да, этот запрос.

0
 



С нами с 16.10.03
Сообщения: 686
Рейтинг: 392

Ссылка на сообщениеДобавлено: 05/06/06 в 14:49       Ответить с цитатойцитата 

в посте надо указывать тип и длину отправляемых данных, в данном случае должно быть:
Код:
function query_POST( $server, $url, $data) {
  $fp = fsockopen( $server, 80, $errno, $errdesc);
  if (!$fp) { return(false); } else
  {
    $request  = "POST $url HTTP/1.0\r\n";
    $request .= "Host: $server\r\n";
    $request .= "Referer: http://www.google.com/index.htm\r\n";
    $request .= "User-Agent: Internet Explorer\r\n";
    $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $request .= "Content-Length: " . strlen($data) . "\r\n\r\n";
    $request .= $data;
    fputs( $fp, $request);
.....
$data = "param1=" . urlencode($value1);
$data .= "&param2=" . urlencode($value2);

Выигрышная стратегия игры в покер

3
 

Ревнивый муж подобен турку

С нами с 01.03.06
Сообщения: 4302
Рейтинг: 905

Ссылка на сообщениеДобавлено: 05/06/06 в 14:53       Ответить с цитатойцитата 

Я, возможно, не очень понимаю о чем идет речь.

Если есть запрос, который мы передаем через ссылку типа
"<a href=index.php?var1=odin&var2=dva>Запрос</a>", то извлечь эти самые var1 и var2 можно так:
$var1 = $_GET['var1'];
$var2 = $_GET['var2'];

При этом есть пара мелких хитростей.
1. Из функций $_GET['var1'] уже не будет ничего показывать - только из самой главной функции можно получить данные.
2. Часто апач настраивают так, что $var1 доступен сразу, без $_GET.

А если запрос передается через тег <FORM>, и там стоит метод POST, то можно данные через $_POST['var1'] получить.

Если тебе надо просто подрочить, жми сюда

0
 



С нами с 03.04.03
Сообщения: 586
Рейтинг: 75

Ссылка на сообщениеДобавлено: 05/06/06 в 14:57       Ответить с цитатойцитата 

Петр Кроликов, да, мы о разном.
Я знаю, как получать данные запросов. Вопрос был о том, как их отправить через POST.

Neuromancer, это оказалось просто, как все гениальное ;-)
Спасибо огромное!

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »