@python_beginnersЭта группа больше не существует

Страница 1355 из 1885
Mr.WeB
07.03.2017
12:16:06
Python.org/downloads 3.4.6 последняя версия?

Маришка
07.03.2017
12:16:28
Mr.WeB
07.03.2017
12:20:54
Блин неправильно посмотрел

Igor
07.03.2017
13:25:35
гм. а подскажите по HTTP. сервер (не мой) возвращает 404 с телом: $ curl -i http://127.0.0.1:8000/test HTTP/1.1 404 Not Found Date: Tue, 07 Mar 2017 13:17:19 GMT Connection: Keep-Alive Content-Type: text/plain; charset=UTF-8 Transfer-Encoding: chunked Keep-Alive: timeout=3 Custom 404 Not Found Message но requests тела ответа упорно не видит: r = requests.get('http://127.0.0.1:8000/test') print(r.content) # пусто при этом если запрашивать http://httpbin.org/404, то requests получает тело ответа нормально и данные совпадают с curl'овскими

Google
Igor
07.03.2017
13:28:45
уже попробовал! пустоту :)

readlines() кинет I/O on closed file

Pavel
07.03.2017
13:29:33
requests.get('https://api.github.com/events', stream=True) там еще параметры надо stream

Igor
07.03.2017
13:29:39
оооо

блядь, у меня ж мелькнула мысль что stream надо прокинуть из-за keep-alive

слушай, не, не прокатило

там просто сервер, на самом деле, не факт что отвечает по HTTP RFC, поэтому проблема может быть какая-нибудь специфическая

или мне лучше в @ru_python c таким?

Igor
07.03.2017
13:45:34
если TE - chunked, то content-length обязателен?

Google
wf
07.03.2017
13:45:51
Ну да

Igor
07.03.2017
13:46:07
спасибо, отправлю багу им :)

и в requests, похоже, тоже стоит http://paste.ubuntu.com/24130890/

эмм а точно? > If a Transfer-Encoding header field (Section 14.41) is present and has any value other than "identity", then the transfer-length is defined by use of the "chunked" transfer-coding (Section 3.6), unless the message is terminated by closing the connection. > All HTTP/1.1 applications that receive entities must accept the "chunked" transfer-coding (Section 3.6), thus allowing this mechanism to be used for messages when the message length cannot be determined in advance. > Messages must not include both a Content-Length header field and a non-identity transfer-coding. If the message does include a non-identity transfer-coding, the Content-Length must be ignored.

здесь же как раз вроде получается non-identity transfer-coding (т.к. указан TE chunked)

wf
07.03.2017
13:53:34
В чанкед передаются данные после указания длины прямо в теле

Igor
07.03.2017
13:54:44
не понял :( в теле == после хедеров? а как там длина указывается в таком случае? о_О

wf
07.03.2017
13:57:52
После хедеров, теле идет длина блока потом после crlr идет сам блок и так может повторяться

Igor
07.03.2017
13:59:08
аа, да https://en.wikipedia.org/wiki/Chunked_transfer_encoding#Example прикольно, спасибо

$ curl -iv --raw 'http://127.0.0.1:8000/test' HTTP/1.1 404 Not Found Date: Tue, 07 Mar 2017 14:04:28 GMT Connection: Keep-Alive Content-Type: text/plain; charset=UTF-8 Transfer-Encoding: chunked Keep-Alive: timeout=3 1D Custom 404 Not Found Message 0

нихуя не понимаю теперь :( вроде все корректно

ладно, пойду поищу способ urllib'овский эксепшн получить

хоть там данные возвращаются

Igor
07.03.2017
14:10:44
Согласен, и connection: close заодно

но я говорю, сервер не мой ) хотелось решить проблему самостоятельно

stonepig
07.03.2017
14:11:38
посоны, такой вопрос. для того, чтобы засетить юзера надо сходить на три эндпоинта + засетить фейсбукового тестового юзера. следовательно надо сделать 4 запроса. правильней будет разбить эти все запросы на 4 отдельных файла (т.к. для каждого запроса нада генерить параметры и это все занимает около 50 строк) и создать один мэйн файл, в который импортить эти все 4 файла, выполняющие запросы или сделать один файл в котором описано тупо всё сразу?

stonepig
07.03.2017
14:12:58
или лучше сделать один файл с классом, в котором будут описаны все методы для создания юзера и создавать юзеров как объекты? т.к. юзеров может быть много

wf
07.03.2017
14:13:00
я насчитал 28 символов в теле

Google
wf
07.03.2017
14:13:46
1C Custom 404 Not Found Message 0

примерно так должно быть )

stonepig
07.03.2017
14:18:57
нет, через тестового юзера. я нашел такие качели https://github.com/kcbanner/facebook-test-users/blob/master/cli.py

хочу сделать падсибя

но суть не в этом

Igor
07.03.2017
14:19:19
я насчитал 28 символов в теле
не, все правильно, там CRLF тоже считается, тоже сверил с httpbin'ом

stonepig
07.03.2017
14:19:27
вопрос был в том, стоит ли разделять это все на отдельные файлы или все пилить в одном?

я вот с ООП не очень дружу, но, думаю, что можно создать класс и генерить юзеров

stonepig
07.03.2017
14:19:44
как объекты

stonepig
07.03.2017
14:20:42
Dmitriy
07.03.2017
14:21:59
это что?
Эта штука позволит не использовать api для авторизации юзеров. Совсем. Типа заглушка для запросов

stonepig
07.03.2017
14:22:21
чет не совсем догоняю

Google
Dmitriy
07.03.2017
14:22:57
Ладно, забей

stonepig
07.03.2017
14:23:59
мне надо всего-то access_token фейсбучный от юзера

создал юзера - получил токен - провел тест - удалил юзера с сервера и с фейсбука

примерно такой план

ну я пока только создание юзера пилю, конечно. суть в чем, я сейчас все это делаю ручками - через клиента создаю юзера, получаю наш токен и иду в jmeter тестировать эндпоинты

хочу это все автоматизировать

Dmitriy
07.03.2017
14:26:19
Не обязательно авторизоваться на фейсбуке, ты же не фейсбук тестируешь

stonepig
07.03.2017
14:26:39
ну да, мне и не нужна авторизация, мне нужен юзер-токен

Dmitriy
07.03.2017
14:26:45
Вот если ты сам модуль авторизации тестируешь, тогда другое дело

Admin
ERROR: S client not available

stonepig
07.03.2017
14:26:53
юзерайди и юзертокен

в самом клиенте авторизация идет через фейсбук, поэтому юзер сеттится только так

Dmitriy
07.03.2017
14:28:02
Говорю же это дело можно симулировать

stonepig
07.03.2017
14:28:56
а можешь подробнее, на пальцах?

Артемий
07.03.2017
14:30:58
Нужно переодически асинхронно выполнять задачу на фоне в django. Я немного погуглил нашел Celery, но мне кажется что есть полегче Фреймворк для этого Можете что подсказать?

Просто единственное что мне требуется - это переодически делать get запросы к стороннему api, и ответ api отправлять группе

Eugene
07.03.2017
14:32:54
Django-rq?

Dmitriy
07.03.2017
14:33:05
а можешь подробнее, на пальцах?
https://docs.python.org/3/library/unittest.mock.html

stonepig
07.03.2017
14:35:13
ну, не совсем на пальцах, но спасибо. буду гуглить, т.к. пока сложновато вот это вот все

я саму логику мока не понимаю, как это работает

Google
Igor
07.03.2017
14:37:05
аааа пиздец >>> self.sock.recv(1024) 'HTTP/1.1 404 Not Found\r\nDate: Tue, 07 Mar 2017 14:35:46 GMT\r\nConnection: Keep-Alive\r\nContent-Type: text/plain; charset=UTF-8\r\nTransfer-Encoding: chunked\r\nKeep-Alive: timeout=3\r\nContent-Encoding: gzip\r\n\r\n0\r\n\r\n' походу, заголовки клиента влияют на то, что вернёт сервер

stonepig
07.03.2017
14:43:35
бля, а где вообще ментора по автоматизации тестирования найти? можно за бабки. у меня столько вопросов и не хочу засерать чат

есть какие-то тематические разделы на форумах или что-то такое

Dmitriy
07.03.2017
14:44:48
На at.info посмотри

stonepig
07.03.2017
14:45:06
This site can’t be reached at.info’s server DNS address could not be found.

Dmitriy
07.03.2017
14:45:46
http://automated-testing.info/

Anton
07.03.2017
14:54:17
не понимать ;(



ValueError: time data 'date_p' does not match format '%a, %d %b %Y %H:%M:%S %Z'

Fri, 23 Dec 2016 04:51:39 +0000 %a, %d %b %Y %H:%M:%S %Z вроде же ок. не?

wf
07.03.2017
14:55:24
Anton
07.03.2017
14:55:34
бло )

wf
07.03.2017
14:55:44
))

Anton
07.03.2017
14:56:09
чот не варик ValueError: time data 'Fri, 23 Dec 2016 04:51:39 +0000' does not match format '%a, %d %b %Y %H:%M:%S %Z'

wf
07.03.2017
14:59:28
попробуй %z вместо %Z

Johnnie
07.03.2017
15:01:17
Language: py3 Source: import datetime print(datetime.datetime.now().strftime('%a, %d %b %Y %H:%M:%S %Z')) Result: Tue, 07 Mar 2017 16:01:12

wf
07.03.2017
15:11:41
попробуй %z вместо %Z
не, оказ не проканает (( , strptime так не умеет, ну можно попробовать тогда как то так datetime.datetime.strptime(date_p[:-7], '%a, %d %b %Y %H:%M:%S') но за зонами придется следить вручную ((

Anton
07.03.2017
15:21:12
да, так норм date_p[:-6], "%a, %d %b %Y %H:%M:%S"

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

спс, гайз

Sergey
07.03.2017
16:09:45
Привет всем) кто на openedu сдал лабы за первую неделю?

Страница 1355 из 1885

Эта группа больше не существует Эта группа больше не существует