So I'm writing a bot in python that will be able to do all kinds of weird shit. One of those weird shit is the ability to translate text from one language to another, which I figured I'd use google translate to do. Here is the section for translation that I'm having trouble with:
elif(line[abuindex+1]=="translate"): #if user inputs translate text="" for i in range(abuindex+2, len(line)): #concantenate all text to be translated text=text+"%20"+line[i] t_url="http://translate.google.com/translate_t?text='"+text+"'&hl=en&langpair=es|en&tbb=1" print "url: %s" % t_url #debug msg urlfi=urllib.urlopen(t_url) #make a file object from what google sends t_html=urlfi.read( ) #read from urlfi file print "html: %s" % t_html #debug msg print "text: %s" % text #debug msg This uses urllib to open the url and abuindex+2 is the first word in the string to be translated and line is an array of the message sent to the bot from the server. After this I'll add something to parse through the html and take out the part that is the translated text. The problem is that when I run this the html output is the following (I asked it to translate como estas here): <html><head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>403 Forbidden</title> <style><!-- body {font-family: arial,sans-serif} div.nav {margin-top: 1ex} div.nav A {font-size: 10pt; font-family: arial,sans-serif} span.nav {font-size: 10pt; font-family: arial,sans-serif; font-weight: bold} div.nav A,span.big {font-size: 12pt; color: #0000cc} div.nav A {font-size: 10pt; color: black} A.l:link {color: #6f6f6f} A.u:link {color: green} //--></style> <script><!-- var rc=403; //--> </script> </head> <body text=#000000 bgcolor=#ffffff> <table border=0 cellpadding=2 cellspacing=0 width=100%><tr><td rowspan=3 width=1% nowrap> <b><font face=times color=#0039b6 size=10>G</font><font face=times color=#c41200 size=10>o</font><font face=times color=#f3c518 size=10>o</font><font face=times color=#0039b6 size=10>g</font><font face=times color=#30a72f size=10>l</font><font face=times color=#c41200 size=10>e</font> </b> <td> </td></tr> <tr><td bgcolor=#3366cc><font face=arial,sans-serif color=#ffffff><b>Error</b></td></tr> <tr><td> </td></tr></table> <blockquote> <H1>Forbidden</H1> Your client does not have permission to get URL <code>/translate_t?text='%20como%20estas'&hl=en&langpair=es%7Cen&tbb=1</code> from this server. <p> </blockquote> <table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#3366cc><img alt="" width=1 height=4></td></tr></table> </body></html> Does anyone know how I would get the bot to have permission to get the url? When I put the url in on firefox it works fine. I noticed that in the output html that google gave me it replaced some of the characters in the url with different stuff like the "&" and "%7C", so I'm thinking thats the problem, does anyone know how I would make it keep the url as I intended it to be? -- http://mail.python.org/mailman/listinfo/python-list