Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

urllib2.Request:: http Request sending successfully, but Response contains in valid data.

5 views
Skip to first unread message

nRk

unread,
Feb 11, 2009, 4:56:19 AM2/11/09
to
Hi

I am trying to send Data to a website through "http" using
"urllib.request" library using the bellow code.
Response status code contains. 200 (OK) but Response contains
nothing...

With same data When I test using C# it working fine.. Response
having.. some data in xml format.
But I am using below python code i am getting response only "<HTML></
HTML>".

Is there any in my code..

req = urllib2.Request(url) // url is valid url
req.add_header('Authorization','AuthSub token="xxxxxxxxxxxxx"')
req.add_header('Content-Type','application/atom+xml')
req.data=data // data is having valid xml data
r = urllib2.urlopen(req)

print(r.code) // output 200
print(r.msg) // output OK
print(r.read()) //<HTML></HTML>

Tino Wildenhain

unread,
Feb 11, 2009, 10:47:56 AM2/11/09
to nRk, pytho...@python.org
Hi,

nRk wrote:
> Hi
>
> I am trying to send Data to a website through "http" using
> "urllib.request" library using the bellow code.
> Response status code contains. 200 (OK) but Response contains
> nothing...
>
> With same data When I test using C# it working fine.. Response
> having.. some data in xml format.
> But I am using below python code i am getting response only "<HTML></
> HTML>".

This does not mean you are doing it identical to C# here, doesn't it?
Also you might be looking at the defaults in the calls within C#
and some weird expectations on server side.

Also you are requesting XML by sending a payload of XML data,
so you need to make sure you actually use POST and not GET.

I'd start by watching your working application with
strace or wireshark and compare with the data to and fro
from your python application.

Also I believe there should be example code for reading
RSS feeds from python.


> Is there any in my code..
>
> req = urllib2.Request(url) // url is valid url
> req.add_header('Authorization','AuthSub token="xxxxxxxxxxxxx"')
> req.add_header('Content-Type','application/atom+xml')
> req.data=data // data is having valid xml data
> r = urllib2.urlopen(req)

> print(r.code) // output 200
> print(r.msg) // output OK
> print(r.read()) //<HTML></HTML>

Regards
Tino


Steven D'Aprano

unread,
Feb 11, 2009, 7:53:22 PM2/11/09
to
On Wed, 11 Feb 2009 01:56:19 -0800, nRk wrote:

> Hi
>
> I am trying to send Data to a website through "http" using
> "urllib.request" library using the bellow code. Response status code
> contains. 200 (OK) but Response contains nothing...

No it doesn't, you say so later: it contains a set of bare <HTML></HTML>
tags. That's not the same as nothing.

>
> With same data When I test using C# it working fine.. Response having..
> some data in xml format.
> But I am using below python code i am getting response only "<HTML></
> HTML>".
>
> Is there any in my code..
>
> req = urllib2.Request(url) // url is valid url

This is not your real code.

>>> import urllib2


>>> req = urllib2.Request(url) // url is valid url

File "<stdin>", line 1


req = urllib2.Request(url) // url is valid url

^
SyntaxError: invalid syntax


How do you expect us to find bugs in your code when you don't show us
your real code? Are we supposed to be mind-readers?


Try using the same user-agent string as your C# code uses, and see if the
server changes what it sends.

--
Steven

0 new messages