Портал Python-программистов

Форумы сайта python.com.ua

Вы не зашли.

Объявление

Открыт официальный канал портала на pythonua@conference.jabber.ru читать подробности
  • > Network
  • > вопрос по отправке POST [RSS Feed]

#1 2007-09-02 01:32:42

aliens
Питонер
Зарегистрирован: 2007-08-14
Сообщений: 13
Рейтинг :   
Профиль

вопрос по отправке POST

Здравствуйте, вот пробую написать скрипт,отправки на dpast.com через посылку POST запроса.
вот код:

Код: python:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib,httplib
 
data = {"content":"import test; print test","language":"Python","title":"","poster":"","hold":""}
params = urllib.urlencode(data)
headers = {"http-equiv": "Content-Type", " content": "text/html","charset":"utf8"}
connection = httplib.HTTPConnection("www.dpaste.com:80")
connection.request("POST", "/", params)
otvet = connection.getresponse()
print otvet.status, otvet.reason
dataa = otvet.read()
print dataa
connection.close()


В итоег работы скрипта, получаю,вот такое сообщение:
[aliens@mars PyQt4]$ python dpaste.py
302 Found
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://dpaste.com/">here</a>.</p>
</body></html>

Почитав в интернете, ошибка 302-это переход. Собственно.как организовать этот переход в питоне? или я заблуждаюсь

Отредактированно aliens (2007-09-02 01:37:34)

Неактивен

 

#2 2007-09-02 22:09:26

jan2ary
Питонер
Откуда: Київ
Зарегистрирован: 2006-11-21
Сообщений: 34
Рейтинг :   
Профиль

Re: вопрос по отправке POST

Ловить ошибку 302, при этом otvet.msg['Location'] укажет, куда переходить.
Пример: http://www.nabble.com/HTML-page-status-t2259778.html

Неактивен

 

#3 2007-09-06 22:10:17

aliens
Питонер
Зарегистрирован: 2007-08-14
Сообщений: 13
Рейтинг :   
Профиль

Re: вопрос по отправке POST

спасибо

Неактивен

 

#4 2007-09-10 18:34:45

aliens
Питонер
Зарегистрирован: 2007-08-14
Сообщений: 13
Рейтинг :   
Профиль

Re: вопрос по отправке POST

Исходя из примера выше, дописал свой скрипт, но, он почему то не работает, т.е. он получает ссылку переадресации, но не ту,которую надо. Исследуя, пришел к выводу,что он не отправляет content на сайт, и его перекидывает обратно. вот код, POST посылаю на dpaste.com, подскажите ,что не так? почему не постится то,что посылаю на дпасте

Код: python:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib,httplib
 
data = {"content":'import test; print test',"language":"Python","title":"","poster":"","hold":""}
params = urllib.urlencode(data)
print params
headers = {"http-equiv": "Content-Type", " content": "text/html","charset":"utf8"}
connection = httplib.HTTPConnection("www.dpaste.com:80")
connection.request("POST", "/", params)
otvet = connection.getresponse()
result = otvet.msg['Location']
print result

Неактивен

 

#5 2007-09-11 12:20:38

jan2ary
Питонер
Откуда: Київ
Зарегистрирован: 2006-11-21
Сообщений: 34
Рейтинг :   
Профиль

Re: вопрос по отправке POST

Так он перенаправляет на http://dpaste.com/, так вроде и должно быть...

Неактивен

 

#6 2007-09-11 23:34:09

aliens
Питонер
Зарегистрирован: 2007-08-14
Сообщений: 13
Рейтинг :   
Профиль

Re: вопрос по отправке POST

jan2ary
когда ты отправляешь код ( через его форму) он перенаправляет на страницу вида: www.dpaste.com/номер_добавления... а не просто на dpaste.com. Т.е. получается у меня скрипт ен отправляет данные из content sad или их сервер ен принмаиет

Неактивен

 

#7 2007-09-12 22:41:31

jan2ary
Питонер
Откуда: Київ
Зарегистрирован: 2006-11-21
Сообщений: 34
Рейтинг :   
Профиль

Re: вопрос по отправке POST

Вот такой код выводит содержание полученной страницы

Код: :python:

import urllib
 
dataAsDictonary={"content":'import test; print test',"language":"Python","title":"","poster":"","hold":""}
 
url = 'http://dpaste.com/'
f = urllib.urlopen(url, urllib.urlencode(dataAsDictonary))
 
print f.read()


Как получить урл этой страницы - расскажешь, мне самому интересно smile

Неактивен

 

#8 2007-09-13 19:04:15

aliens
Питонер
Зарегистрирован: 2007-08-14
Сообщений: 13
Рейтинг :   
Профиль

Re: вопрос по отправке POST

в случае с dpaste я нашел как))
у них там номер есть в коде страницы,вот его надо опарсить. А вообще, поищу функцию в урллиб...

Неактивен

 

#9 2007-09-13 19:05:47

aliens
Питонер
Зарегистрирован: 2007-08-14
Сообщений: 13
Рейтинг :   
Профиль

Re: вопрос по отправке POST

ха,нашел

f.geturl()

и все окейно wink

Неактивен

 

#10 2007-09-13 23:53:43

jan2ary
Питонер
Откуда: Київ
Зарегистрирован: 2006-11-21
Сообщений: 34
Рейтинг :   
Профиль

Re: вопрос по отправке POST

От і добре :-)

Неактивен

 
  • > Network
  • вопрос по отправке POST [RSS Feed]

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

Linux coutner