2016-03-02 5 views
2

Спасибо, что нашли время ответить на мой вопрос.Python запрашивает POST для PHP

У меня возникли проблемы с отправкой запроса на отправку в веб-форму, GO Term, которая требует двух терминов GO (генная онтология). Из того, что я вижу, эта форма отправляется в другой php-файл, GO Compare, который отправляет обратно числовое сходство этих двух терминов через http.

Вот что я пытался до сих пор:

url = 'http://bioinformatics.clemson.edu/G-SESAME/Program/GOCompareTwo1.php' 
GOterms = {'GOTerm1':'0005777','GOTerm2':'0005739'} 
r = requests.post(url, data=payload)` 

Все это возвращает это веб-страница в GO Term. Подставляя url для GO Сравнить возвращает веб-страницу с кодом состояния 500 и не имеет значения сходства. Я очень новичок в HTTP-запросах, поэтому я не уверен, как это сделать.

Я не понимаю исходный код обеих веб-страниц? Или у меня есть недоразумение о HTTP-запросах? Еще раз спасибо.

Редактировать: Я понял, что не понимаю, что я пытаюсь сделать. По сути, я пытаюсь отправить два условия GO на веб-сайт G-SESAME и вернуть числовое сходство этих двух терминов.

+0

'http://bioinformatics.clemson.edu/G- SESAME/Program/GOCompareTwo2.php' - это URL, который фактически получает запрос. В Chrome вы можете открыть инструменты разработчика и перейти на вкладку «Сеть», чтобы просмотреть детали. – zjk

+0

@zjk, но вы не можете сделать прямой запрос, попробуйте сами. –

ответ

0

Попробуйте это:

url = 'http://bioinformatics.clemson.edu/G-SESAME/Program/GOCompareTwo2.php' 
GOterms = {'GOTerm1':'0005777','GOTerm2':'0005739', 'submit':'Submit'} 
r = requests.post(url, data=GOterms) 
print r.text 

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

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