С нами с 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 .= "¶m2=" . urlencode($value2); |
так вот - почему это скрипт не принимает такую последовательность данных как POST запрос
Подскажите, как нужно поправить запрос, чтобы он стал верным.
|
|
|
|
Ревнивый муж подобен турку
С нами с 01.03.06
Сообщения: 4302
Рейтинг: 905
|
Добавлено: 05/06/06 в 14:21 |
Запрос этот?
Disruptor писал: | $data = "param1=" . urlencode($value1);
$data .= "¶m2=" . urlencode($value2); |
Если этот, то это GET запрос, afaik.
|
|
|
|
С нами с 03.04.03
Сообщения: 586
Рейтинг: 75
|
Добавлено: 05/06/06 в 14:33 |
Дык он идет после тела запроса или я что-то не так делаю?
Подскажи, как правильно.
|
|
|
|
С нами с 03.04.03
Сообщения: 586
Рейтинг: 75
|
Добавлено: 05/06/06 в 14:35 |
Да, этот запрос.
|
|
|
|
С нами с 16.10.03
Сообщения: 688
Рейтинг: 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 .= "¶m2=" . urlencode($value2);
|
|
|
|
|
Ревнивый муж подобен турку
С нами с 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'] получить.
|
|
|
|
С нами с 03.04.03
Сообщения: 586
Рейтинг: 75
|
Добавлено: 05/06/06 в 14:57 |
Петр Кроликов, да, мы о разном.
Я знаю, как получать данные запросов. Вопрос был о том, как их отправить через POST.
Neuromancer, это оказалось просто, как все гениальное ;-)
Спасибо огромное!
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |