2010-03-10 121 views
2

我有一个需要通过URL发送给第三方供应商的列表。我不知道他们在用什么语言。通过URL发送列表

名单打印出来是这样的:

[u'1', u'6', u'5'] 

我知道ü编码为UTF-8正确的字符串?所以有几个问题。

我可以通过URL发送一个列表吗? 当你浏览网址时,你会在另一端显示吗? 如果是这样,我该如何删除它们?

我不确定要搜索哪些关键字来帮助我,所以任何资源都会有帮助。

回答

4

我可以通过URL发送清单吗?

否。网址只是文字。如果您想要一种打包结构化信息的方式,您必须同意与您通话的提供商。

URL中结构的一种标准编码,可能是也可能不是您需要的,它是在查询字符串中使用具有相同名称的多个参数。这种格式来自HTML表单提交:

http://www.example.com/script?par=1&par=6&par=5 

可能会被认为是代表一个参数par有三项目列表作为其值。或者可能不是,接收器需要决定。例如,在PHP应用程序中,您必须命名参数par[]以使其接受数组值。

我知道你用utf-8编码字符串的权利?

号一个u'...'串是天然Unicode字符串,其中每个索引表示一个整体的字符,而不是在任何特定的编码字节。如果您需要UTF-8字节,请在URL编码之前编写u'...'.encode('utf-8')。 UTF-8是一个很好的默认选择,但是再一次:接收方想要的编码是该应用程序。

当你浏览网址时,你会在另一端显示吗?

u是字符串的字面表示形式的一部分,与'引号本身相同。它们不是字符串值的一部分,不会被print或加入其他字符串时回应,除非您通过调用repr故意要求字面表示。

+0

+1简明解释 – YOU

1

u''不是UTF8,其为Python 2.x的

要通过URL发送蟒蛇unicode字符串,你需要用UTF-8编码他们像.encode('utf-8'),并且还需要进行urlencode,并列出不能发它通过URL,你需要把它作为字符串。

基本上,你需要做的是在下面的步骤

Python列表 - > unicode字符串 - > UTF8字符串 - > URL编码 - >通过适当的urllib API

+0

*叹*感谢您的帮助,如果我使用PHP – KacieHouser

+0

感谢您的意图不是很清楚,因为发送列表“通过URL”没有更多的上下文没有多大意义。向我们展示如何在PHP中实现它,并且我们可能会更轻松地为您提供帮助。 –

+3

事实上,缺乏现代Unicode支持是PHP最弱点之一。 – bobince

0

不正确的发送。 unicode字面量使用Python的内部编码,在编译时决定。

您无法通过URL发送任何内容。改为选择一个协议。并在发送前进行编码,可能是UTF-8。