2016-09-17 2 views
0

Итак, я решил, что хочу освежить свои навыки программирования, изучив новый язык и начну строить ботов. «hackthissite.org» имеет несколько задач программирования, которые я хочу завершить. Первый заключается в том, чтобы разрешить некоторые слова.метод request.get() истекает, несмотря на то, что сайт явно онлайн

Хорошо, достаточно просто. Позвольте мне создать скрипт, который сначала регистрирует и изолирует слова.

Я не могу подключиться к сайту менее чем за 15 секунд. Я использую API запросов для этого. Вот мой код:

def main(): 
print("Starting Prograam") 
session = requests.session() 
session = requests.get("https://www.hackthissite.org/pages/index/index.php") 
print(str(session.status_code)) 
print("Successfully Connected to the site") #TODO: Error Handling 
login = {'username' : 'My Account Username', 'password' : 'Terrible Hard-coded Password Here'} 
session = requests.post("https://www.hackthissite.org/user/login", data=login) 
bs = BeautifulSoup(session.content, "html.parser") 
print(bs.prettify()) 

main() 

Программа работает в течение одиннадцати лет, и я только что в конечном итоге получить либо ошибку тайм-аута или ждать смешное количество времени, которое я знаю, что я не должен ждать. Я не могу найти никого в Интернете с той же проблемой, что и я. Это что-то, что «hackthissite.org» имеет против ботов? Нужно ли мне каким-то образом маскировать мою деятельность как пользователя?

ответ

0

Вы никогда не использовать сеанс сначала создается таким образом, все линии бар последние два не имеют никакого отношения, чтобы войти в систему все, что вам нужно, это ваше имя пользователя, пароль и установить реферер заголовок https://www.hackthissite.org на:

def main(): 
    print("Starting Program") 
    with requests.session() as session: 
     login = {"username": "username", 
       "password": "pass", 
       "btn_submit": "Login"} 
     session.headers.update({"referer":"https://www.hackthissite.org"}) 
     s = session.post("https://www.hackthissite.org/user/login", data=login) 
     bs = BeautifulSoup(s.content, "html.parser") 
     print(bs.prettify()) 

После этого вы увидите страницу своего профиля на выходе.

+0

Хорошо, теперь я вхожу в систему последовательно, но только после примерно 15 секунд. Что дает? Я могу войти в систему быстрее, чем это. –

Смежные вопросы