![]() |
![]() |
![]() |
|
Запрос к сайту | ☑ | ||
---|---|---|---|---|
0
Alex_MA
10.10.11
✎
13:27
|
Всем доброго дня!
Как сделать запрос методом post на определенный адрес? Спасибо за внимание. |
|||
1
ДенисЧ
10.10.11
✎
13:28
|
||||
2
Alex_MA
10.10.11
✎
13:29
|
(1)спасибо большое.
|
|||
3
Alex_MA
10.10.11
✎
13:42
|
мне необходимо отправлять не файлы, а строки типа "851381" и получать строковый ответ.
|
|||
4
Alex_MA
10.10.11
✎
13:59
|
а что такое адрес скрипта ?
там написано: Собственно, отправка данных серверу. АдресСкрипта = "some_script.php"; //Естественно, следует указать имя своего скрипта. т.е. в любом случае я должен скрипт на php писать ? Так ? |
|||
5
Alex_MA
10.10.11
✎
14:16
|
//Определяем имя файла ответа от веб-сервера
ИмяФайлаОтвета = КаталогВременныхФайлов() + "answer.tmp"; //Какой-то ранее созданный архив ИмяФайлаДанных = "transmission.zip"; //Создаём файл отправки или содержимое POST-запроса. ИмяФайлаОтправки = КаталогВременныхФайлов() + "post.txt"; ФайлОтправки = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.ANSI, Символы.ПС, ЛОЖЬ); //Определяем раздел двоичных данных ФайлОтправки.ЗаписатьСтроку("777777"); ФайлОтправки.Закрыть(); ЗаголовокHTTP = Новый Соответствие(); //При необходимости зададим Referer, например таким образом СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); СерверИсточник = НСтр(СтрокаСоединения, "Srvr") + НСтр(СтрокаСоединения, "Ref"); ЗаголовокHTTP.Вставить("Referer", СерверИсточник); Сервер = "www.google.ru"; Порт = "80"; Если Истина Тогда Прокси = Новый ИнтернетПрокси; Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина; Прокси.Пароль = "Pwd"; // укажите своё значение Прокси.Пользователь = "Usr1"; // укажите своё значение НТТР = Новый HTTPСоединение(Сервер, Порт, , , Прокси); Иначе НТТР = Новый HTTPСоединение(Сервер, Порт); КонецЕсли; АдресСкрипта = "some_script.php"; //Естественно, следует указать имя своего скрипта. Попытка НТТР.ОтправитьДляОбработки(ИмяФайлаОтправки, АдресСкрипта, ИмяФайлаОтвета, ЗаголовокHTTP); Исключение А = 2; КонецПопытки; //Удалим файл отправки POST-запроса. Больше он нам не нужен. УдалитьФайлы(ИмяФайлаОтправки); Что то не пойму строку: АдресСкрипта = "some_script.php"; //Естественно, следует указать имя своего скрипта. |
|||
6
Alex_MA
10.10.11
✎
14:41
|
пишет:
Couldn't resolve host name с чем может быть связано ? |
|||
7
Alex_MA
10.10.11
✎
15:00
|
Порт = "80";
Если Истина Тогда Прокси = Новый ИнтернетПрокси; Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина; Прокси.Пароль = "Pwd"; // укажите своё значение Прокси.Пользователь = "Usr1"; // укажите своё значение НТТР = Новый HTTPСоединение("www.somesite.ru", Порт, , , Прокси, ); Иначе НТТР = Новый HTTPСоединение("", Порт); КонецЕсли; // // //Попытка // НТТР.ОтправитьДляОбработки("c:\test.txt", АдресРесурса, ИмяФайлаОтвета, ЗаголовокHTTP); //Исключение // Сообщить(ОписаниеОшибки()); //КонецПопытки; ////Удалим файл отправки POST-запроса. Больше он нам не нужен. //УдалитьФайлы(ИмяФайлаОтправки); НТТР = Новый HTTPСоединение("www.somesite.ru", Порт, , , Прокси, ); НТТР.ОтправитьДляОбработки("c:\test.txt", "www.somesite.ru\request_test.php", ИмяФайлаОтвета, ); Выдает: Couldn't connect to server Что пишу не так ? |
|||
8
Asmody
10.10.11
✎
15:07
|
(6) "Couldn't resolve host name" — не может определить ip сервера по имени. Проверяем настройки DNS, пингуем сервер из консоли.
и еще: во втором параметре НТТР.ОтправитьДляОбработки(); указывается только адрес ресурса на сервере, без имени сервера. Т.е. для "www.somesite.ru\request_test.php" имя сервера будет "www.somesite.ru", а адрес ресурса "/request_test.php". и слеши в интернетах используются прямые |
|||
9
Alex_MA
10.10.11
✎
16:07
|
(8)а если сайт пока на виртуальном хостинге ?
|
|||
10
Alex_MA
10.10.11
✎
16:11
|
Сервер = "www.somesite.ru";
Порт = "80"; Прокси = Новый ИнтернетПрокси; Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина; Прокси.Пароль = "Pwd"; Прокси.Пользователь = "Usr"; НТТР = Новый HTTPСоединение(Сервер, Порт, , , Прокси); АдресСкрипта = "/request_test.php"; //На самом деле: http://www.somesite.ru/request_test.php Попытка НТТР.ОтправитьДляОбработки("c:\test.txt", "/request_test.php", ИмяФайлаОтвета, ЗаголовокHTTP); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Все правильно ? |
|||
11
Alex_MA
10.10.11
✎
17:00
|
подскажите может быть какой нить сайт, где это можно проверить.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |