调用URL时Python中的非ASCII字符语法错误

时间:2010-04-07 10:23:07

标签: python macos

如何将数据发送到服务器?

例如,我检索了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 个答案:

答案 0 :(得分:25)

将编码放在.py文件的顶部

示例:

#!/usr/bin/env python
#coding: utf8 
import os
...

这可能是因为你复制/粘贴了一些在文本编辑器中看不到的unicode字符。

答案 1 :(得分:5)

此解决方案适用于Ubuntu。

在所有导入语句之前,在开头添加以下语句。

# -*- coding: utf-8 -*-`

使用术语'\xe2'的错误的类似方法。

答案 2 :(得分:1)

不正确的字符可能是第8行的“逗号”或“引号”。它可能发生在“Ctrl + C”,“Ctrl + V”期间。 ;)您可以尝试手动重写这些字符。

答案 3 :(得分:-10)

您已使用非ASCII字符复制并粘贴了代码。第8行有\xc3个字符。

相关问题