|   |   | 
| 
 | 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 "pp=@Text1.txt" "Строка соединения"......./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 "pp=@Text1.txt"  делаю все добавляет норм     | |||
| 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 "pp=@masageB.txt" -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 "pp=@masageB.txt" -к 10.255.1.232 -k ~andy/tsd/addfile.php
 Точнее так | |||
| 32
    
        Nik_Zzz 22.11.18✎ 13:20 | 
        C:\test3>curl -F "pp=@masageB.txt" -к 10.255.1.232/~andy/tsd/addfile.php
 Точнее так | |||
| 33
    
        arsik гуру 22.11.18✎ 15:29 | 
        (30) Делай вот так, и увидишь.
 >curl -F "pp=@masageB.txt" -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с-ка сама дописывает, если ты этого не сделал     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |