在Python调用URL时出现非ASCII字符语法错误
如何将数据发送到服务器呢?
比如说,我已经获取了一个MAC地址,现在我想把它发送到服务器上(例如:http://211.21.24.43:8080/data?mac=00-0C-F1-56-98-AD)。
我在网上找到了一段代码:
from urllib2 import Request, urlopen
from binascii import b2a_base64
def b64open(url, postdata):
req = Request(url, b2a_base64(postdata), headers={'Content-Transfer-Encoding': 'base64'})
return urlopen(req)
conn = b64open("http://211.21.24.43:8080/data","mac=00-0C-F1-56-98-AD")
但是当我运行它的时候,出现了:
File "send2.py", line 8
SyntaxError: Non-ASCII character '\xc3' in file send2.py on line 8, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
有没有人能帮我把数据发送到服务器呢?
提前谢谢大家!
4 个回答
6
这个解决方案在我的Ubuntu系统上有效。
在所有导入语句之前,最开始加上以下这句话。
# -*- coding: utf-8 -*-`
对于出现'\xe2'
这个错误的情况,可以用类似的方法处理。
26
把编码放在.py文件的最上面
比如:
#!/usr/bin/env python
#coding: utf8
import os
...
这可能是因为你复制粘贴了一些在文本编辑器里看不见的unicode字符。
-10
你复制粘贴的代码里有一些非ASCII字符。第8行有一个\xc3
字符。