|
Post-запрос передать строку на сервер | ☑ | ||
---|---|---|---|---|
0
Nik_Zzz
21.11.18
✎
11:07
|
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded"); HTTPСоединение = Новый HTTPСоединение("Строка соединения",80); HTTPЗапрос = Новый HTTPЗапрос("/СтрокаПуть.../addfile.php", Заголовки); HTTPЗапрос.УстановитьТелоИзСтроки("Какой то текст", "UTF-8"); HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); Возврат HTTPОтвет.ПолучитьТелоКакСтроку(); В результате получаем : File uploading failed. Кто знает в чём проблемка, что делаю не так ? |
|||
1
dezss
21.11.18
✎
11:22
|
А код состояния ответа какой?
Может быть все, что угодно. Может заголовков не хватает или еще чего-то. Лучше сперва отправить вручную через браузер и отловить фидлером, что там происходит. |
|||
2
Nik_Zzz
21.11.18
✎
11:30
|
(1) Сообщить(HTTPОтвет.КодСостояния);
Сообщило 200 200 это - 200 OK («хорошо»); |
|||
3
Nik_Zzz
21.11.18
✎
11:31
|
(1) В том то и проблема , что не понятно ,только как это выяснить?))
|
|||
4
Lexey_
21.11.18
✎
11:32
|
(0) "File uploading failed."
может потому что ты передаешь "Какой то текст", а не файл? |
|||
5
Nik_Zzz
21.11.18
✎
11:37
|
(4) Ну да я передаю "Какой то текст" , так мне и нужно его передать
|
|||
6
Ёпрст
21.11.18
✎
11:41
|
<какой-то текст> хоть кодируешь ?
|
|||
7
Ёпрст
21.11.18
✎
11:41
|
раз делаешь x-www-form-urlencoded
|
|||
8
Lexey_
21.11.18
✎
11:41
|
(5) а это не смущает? "addfile.php"
|
|||
9
dezss
21.11.18
✎
11:47
|
(3) берешь фидлер, запускаешь его и делаешь все руками через браузер, потом смотришь, что там происходило и сравниваешься с отправкой из 1С
|
|||
10
Nik_Zzz
21.11.18
✎
11:50
|
(7) Просто не кодирую пишу как есть "Какой то текст"
HTTPЗапрос.УстановитьТелоИзСтроки("Какой то текст", "UTF-8"); ну мне нужно что то вроде этого : Расположения файта там диск С:\итд\>curl -F "[email protected]" "Строка соединения"......./addfile.php |
|||
11
Nik_Zzz
21.11.18
✎
12:08
|
(8) А чем это должно смущать?
|
|||
12
Nik_Zzz
21.11.18
✎
12:40
|
(7) Или нужно делать :Заголовки.Вставить("Content-Type", "text/html;charset=utf-8"); ??
|
|||
13
eklmn
гуру
21.11.18
✎
13:18
|
еще раз тебе повторю, смотри что наговнокодили пхпэшники в addfile
|
|||
14
Nik_Zzz
21.11.18
✎
13:38
|
(13) Ну я же говорю когда через curl -F "[email protected]" делаю все добавляет норм
|
|||
15
Nik_Zzz
21.11.18
✎
14:18
|
Кто знает, как можно передать параметр ?
Что поправить в этой строке? HTTPЗапрос.УстановитьТелоИзСтроки("pp=C:\test3\Masage.txt", "UTF-8"); |
|||
16
dezss
21.11.18
✎
16:00
|
(14) (15) блин...ну возьми ты фидлер и посмотри!!!
курлом отправляй, а в фидлере смотри что происходит |
|||
17
oleg_km
21.11.18
✎
17:25
|
(16) Потом 1Сом и сравнивай. Во, все разжевали
|
|||
18
Nik_Zzz
22.11.18
✎
07:51
|
(16) Зачем мне курлом отправлять , если я проверял и так все работает , проблемка это сделать из 1С
фиддлером посмотрел вот http://img.ipev.ru/2018/11/22/5.png Вероятно не хватает каких то заголовков?! |
|||
19
arsik
гуру
22.11.18
✎
08:19
|
(18) Ты курлом сделай и посмотри фиддлером. То же самое потом воспроизведешь в 1С.
|
|||
20
Nik_Zzz
22.11.18
✎
10:26
|
(19)Еще раз , вот делаю курлом , все получается: http://img.ipev.ru/2018/11/22/2.png
Как мне повторить в 1С-ке то , вот в чем вопрос ?! |
|||
21
Тихий омут
22.11.18
✎
10:55
|
ЧтениеТекста=Новый ЧтениеТекста(ИмяФайла,КодировкаТекста.UTF8);
Стр=ЧтениеТекста.Прочитать(); Ссылка="http:/your_url.ru//"; WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); WinHttp.Option(2,"utf-8"); WinHttp.Open("POST",Ссылка,0); WinHttp.SetRequestHeader("Accept-Language", "ru"); WinHttp.SetRequestHeader("Accept-Charset","utf-8"); WinHttp.setRequestHeader("Content-Language", "ru"); WinHttp.setRequestHeader("Content-Charset", "utf-8"); WinHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8"); ПараметрыПОСТ = "param="+Стр; WinHttp.Send(ПараметрыПОСТ); СтрокаОтветаСервера = WinHttp.ResponseText(); |
|||
22
Nik_Zzz
22.11.18
✎
11:27
|
(21) А без СОМ объекта ни как? , просто в мобильной платформе его нет :)
|
|||
23
Tonik992
22.11.18
✎
11:40
|
Почему устанавливаете Content-Type: application/x-www-form-urlencoded ?
|
|||
24
Nik_Zzz
22.11.18
✎
12:02
|
(23)application/x-www-form-urlencoded, тело HTTP-сообщения, отправленного на сервер, по существу является одной большей строкой запроса
|
|||
25
Сияющий в темноте
22.11.18
✎
12:18
|
Возьмите любую типовую,где есть Егаис и посмотрите отправку запроса в Утм это как раз ваш случай файл и ещн с обрезанием БОМ.
|
|||
26
arsik
гуру
22.11.18
✎
12:28
|
(20) Что то ты не то делаешь. В фиддлере запрос от курла должен быть. Почему у тебя процесс браузер?
|
|||
27
Nik_Zzz
22.11.18
✎
12:51
|
(26) выполняю курл , а в фиддлере нету ни чего , потом перехожу по ссылке в браузере , а оно норм публикуется
|
|||
28
arsik
гуру
22.11.18
✎
12:58
|
(27) Значит фиддлер не настроен
|
|||
29
arsik
гуру
22.11.18
✎
13:01
|
||||
30
Nik_Zzz
22.11.18
✎
13:16
|
(29) (28) C:\test3>curl -F "[email protected]" -x 10.255.1.232 -k ~andy/tsd/addfile.php
curl: (7) Failed to connect to 10.255.1.232 port 1080: Connection refused пишу так но в фиддлере ни чего не появляется |
|||
31
Nik_Zzz
22.11.18
✎
13:18
|
C:\test3>curl -F "[email protected]" -к 10.255.1.232 -k ~andy/tsd/addfile.php
Точнее так |
|||
32
Nik_Zzz
22.11.18
✎
13:20
|
C:\test3>curl -F "[email protected]" -к 10.255.1.232/~andy/tsd/addfile.php
Точнее так |
|||
33
arsik
гуру
22.11.18
✎
15:29
|
(30) Делай вот так, и увидишь.
>curl -F "[email protected]" -x 127.0.0.1:8888 -k 10.255.1.232/~andy/tsd/addfile.php |
|||
34
Вафель
22.11.18
✎
15:39
|
а ты файл кодируешь в base64 ?
|
|||
35
Nik_Zzz
22.11.18
✎
15:45
|
(34) Ну вообще в идеале мне xml надо отправлять , но пока что хотя бы строку научиться
|
|||
36
Nik_Zzz
22.11.18
✎
15:46
|
(34) так строку вроде если отправлять не нужно в base64 кодировать если я не ошибаюсь
|
|||
37
Nik_Zzz
22.11.18
✎
15:49
|
(33) Да так вот получилось :
http://img.ipev.ru/2018/11/22/1256.png |
|||
38
Nik_Zzz
22.11.18
✎
15:51
|
(33) Только пока слабо понимаю что с этой информацией делать :))
|
|||
39
arsik
гуру
22.11.18
✎
15:54
|
(38) Ну вставь в заголовок 2 поля как у тебя в картинке, в тело запроса текст. Dhjlt nfr
|
|||
40
arsik
гуру
22.11.18
✎
15:54
|
>Вроде так
|
|||
41
dezss
22.11.18
✎
16:05
|
(37) и теперь смотри заголовки и сравни со своими
|
|||
42
Nik_Zzz
22.11.18
✎
16:15
|
(39) (41) http://img.ipev.ru/2018/11/22/12569f97ca42e3f642c2.png
Просто строка поменялась , а запись не произошла "File uploading failed." |
|||
43
Nik_Zzz
22.11.18
✎
16:19
|
(41) Там в первой строке вообще какой то guid
|
|||
44
dezss
22.11.18
✎
16:28
|
(43) нажми на headers
|
|||
45
arsik
гуру
22.11.18
✎
16:30
|
(42) А где?
Заголовки.Вставить("Content-Type", "text/plain"); |
|||
46
dezss
22.11.18
✎
16:31
|
(45) ну зачем так сходу...надо ж было, чтоб человек сам сравнил заголовки
|
|||
47
Nik_Zzz
23.11.18
✎
07:14
|
(44) (45) http://img.ipev.ru/2018/11/23/5.png
&НаСервере Функция ВыполнитьPOSTЗапрос() Путь = "Content-Disposition: form-data; " + "name="+"""pp"""+"; " + "filename="+"""masageB.txt"""; boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", ""); Заголовки = Новый Соответствие; Заголовки.Вставить("Content-Type", "multipart/form-data, boundary="+boundary); HTTPСоединение = Новый HTTPСоединение("10.255.1.232"); HTTPЗапрос = Новый HTTPЗапрос("/~andy/tsd/addfile.php", Заголовки); HTTPЗапрос.УстановитьТелоИзСтроки(Путь); HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); Сообщить(HTTPОтвет.КодСостояния); Возврат HTTPОтвет.ПолучитьТелоКакСтроку(); КонецФункции Всё равно приходит : File uploading failed :( |
|||
48
zva
23.11.18
✎
07:33
|
||||
49
dezss
23.11.18
✎
08:47
|
(47) установи еще User-Agent не 1С+...
Были такие бывали такие траблы, что с таким заголовком нифига не работало)))) |
|||
50
dezss
23.11.18
✎
08:51
|
(49) Были такие бывали такие траблы -> Встречались такие такие траблы
Кстати, пробовали ставить любую лабуду, с ней работало, а с 1C+Enterprise, не работало) |
|||
51
arsik
гуру
23.11.18
✎
09:03
|
(47) Какой ты глупый
Функция ВыполнитьPOSTЗапрос()
|
|||
52
Nik_Zzz
23.11.18
✎
09:57
|
(48) Она не перезаписывает данными из текстового файла почему-то,
Вот в отладчике заголовки: http://img.ipev.ru/2018/11/23/1256.png |
|||
53
Nik_Zzz
23.11.18
✎
10:03
|
(50) А как вставить лабуду тогда ?)это же по умолчанию прописывается
|
|||
54
arsik
гуру
23.11.18
✎
11:03
|
Ну во первых это ты показываешь ответ.
Во вторых у тебя он лезет через прокси. Так и должно быть? Возможно через прокси 10.255.1.232 недоступен. |
|||
55
Nik_Zzz
23.11.18
✎
11:34
|
(54) Ну через прокси я сделал, что бы через фиддлер отображалось, а так без посредников вроде
|
|||
56
Nik_Zzz
23.11.18
✎
11:53
|
а хотя 1с-ка тоже лезет через прокси
|
|||
57
dezss
23.11.18
✎
15:15
|
(53) если ты сам пропишешь этот заголовок, то он поменяется...просто 1с-ка сама дописывает, если ты этого не сделал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |