小编Cro*_*oll的帖子

'module'没有属性'urlencode'

当我尝试遵循与Python编码相关的Python Wiki示例时:

>>> import urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params)
>>> print f.read()
Run Code Online (Sandbox Code Playgroud)

第二行引发错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'urlencode'
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

python urllib python-3.x

90
推荐指数
3
解决办法
10万
查看次数

我如何在Visual Studio 2015项目中使用Qt?

我们有一个大型项目,它使用.NET Framework来显示表单/窗口.最近我决定弃用CLR依赖并转移到Qt.

在学习Qt时,我们已经从Visual Studio 2013迁移到2015,然后我注意到vs2015使用的MSVC 14版本没有qt支持.

此外,Qt vs addin还没有使用我们使用的jn visual studio express/community edition.我有没有机会在我们的项目中使用Qt和qt addin?

搜索网络没有帮助,看起来没有人使用Qt与最新的Visual Studio?

qt visual-studio qt5 visual-studio-2015

31
推荐指数
2
解决办法
7万
查看次数

使用Squid3代理时,POST绝对URI由XmlHttpRequest发送到服务器

我现在遇到了一个奇怪的问题,即我正在开发的Chrome扩展程序发送http请求(普通的JavaScript).这是一个带有XmlHttpRequest(from )的POST请求,其中包含以下URL:background.js

http://host.com/postform/upload
Run Code Online (Sandbox Code Playgroud)

我也从普通网页(不是chrome扩展名)发送此请求,重要的是,如果我打开开发人员工具并检查我的请求的网络选项卡(选择原始标题显示),我会看到第一个标题:

POST /postform/upload HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

它在我启用代理而不是直接连接之前工作正常.我在我的Ubuntu上使用squid3.使用代理时请求之间只有一个不同之处 - 它使HTTP服务器返回404找不到 - 仅在使用代理时...

当我强制Chrome使用基于squid3的代理时(我在我的Chrome扩展程序中使用PAC脚本),我的请求将无效.我检查了很多次,尽我所能减少请求体的任何差异,而我现在剩下的就是第一个头.

在使用代理激活的请求发送时(从开发人员工具的网络选项卡,从后台页面打开),它看起来像这样:

POST http://host.com/postform/upload HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

我尝试过使用chome.webRequest.onBeforeSendHeaders API,但这没有帮助.我还尝试从XmlHttpRequest.open中的 URL中删除主机名,但这没有帮助.

是的,我在任何情况下都会发送正确的Host和Origin标头.这可能是我的squid3配置中的问题,或者我应该在我的javaScript中更改什么?

UPDATE 现在意识到squid不是问题,问题是POST请求包含FULL uri(http:// ..)而不是"path".GET工作正常.这太痛苦了.

我不能使用iframe变通办法.我的问题是什么?

javascript xmlhttprequest squid google-chrome-extension

18
推荐指数
1
解决办法
464
查看次数

如何获取System.Xml.Linq.XNode的名称?

每个XML元素<title />都有一个名称 - "title".我使用foreach枚举XNode.Nodes()方法提供的项目,并按标记名称处理每个项目.

我将XNode转换为XElement,以访问XElement.Name.LocalName属性以获取标记名称,如"title".

foreach(XElement as_element in doc.Nodes())
Run Code Online (Sandbox Code Playgroud)

我尝试解析此标记后出现问题:

<title>"Some text"</title>
Run Code Online (Sandbox Code Playgroud)

现在它的类型是XText(:XNode),我无法将其强制转换为XElement.我得到一个InvalidCastException.我怎样才能获得XNode的"名字"?

c# xml casting

10
推荐指数
1
解决办法
8769
查看次数

ImportError:没有名为'html.parser'的模块; 'html'不是包(python3)

码:

from html.parser import HTMLParser
Run Code Online (Sandbox Code Playgroud)

Traceback(最近一次调用最后一次):

  File "program.py", line 7, in <module>
    from html.parser import HTMLParser
ImportError: No module named 'html.parser'; 'html' is not a package
Run Code Online (Sandbox Code Playgroud)

我叫它 python3 program.py

Python版本:Python 3.4.0

python python-import python-3.x

10
推荐指数
2
解决办法
2万
查看次数

ZipFile中的namelist()返回带有无效编码的字符串

问题是,对于一些上传到python应用程序的档案或文件,它ZipFilenamelist()返回错误解码的字符串.

from zip import ZipFile
for name in ZipFile('zipfile.zip').namelist():
    print('Listing zip files: %s' % name)
Run Code Online (Sandbox Code Playgroud)

如何修复该代码,以便我总是解码unicode中的文件名(所以支持Chineeze,俄语和其他语言)?

我已经看到了Python 2的一些示例,但由于字符串的性质在python3中已经改变,我不知道如何重新编码它,或者在其上应用chardet.

string unicode encoding python-3.x chardet

8
推荐指数
2
解决办法
1581
查看次数

python的请求不能正确处理cookie?

我有简单授权和上传API脚本的问题.

授权后,客户端会收到几个cookie,包括PHPSESSID cookie(在浏览器中).

我使用requests.post表单数据的方法进行授权:

r = requests.post(url, headers = self.headers, data = formData)
self.cookies = requests.utils.dict_from_cookieja(r.cookies)
Run Code Online (Sandbox Code Playgroud)

标题仅用于自定义User-Agent.

授权是100%罚款(页面上有一个注销链接).稍后,我尝试使用授权会话cookie上传数据:

r = requests.post(url, files = files, data = formData, headers = self.headers, cookies = self.cookies)
Run Code Online (Sandbox Code Playgroud)

但网站拒绝了该请求.如果我们比较来自脚本和谷歌浏览器的请求(使用Wireshark),请求正文中没有差异.

唯一的区别是请求类发送的2个 cookie,而谷歌Chrome发送7个.

更新:双重检查,第一个请求收到7个cookie.post方法只是忽略了一半......

python cookies multipartform-data python-3.x python-requests

5
推荐指数
1
解决办法
979
查看次数

给定字符串的Python中的基数转换

在 PHP 中,给定一个字符串值(由字符分隔的整数),我们可以计算它的整数表示形式:

$hashable = "123A123"; // notice "A" delim
$hash_int = base_convert($hashable, 11, 10);
echo $hash_int;
Run Code Online (Sandbox Code Playgroud)

输出

2151042
Run Code Online (Sandbox Code Playgroud)

它很有用,因为结果对于大范围的字符串(当然是短字符串)来说是唯一的。我在我的应用程序中使用它来生成 ID。

我们如何在 python 中进行相同的转换?是否可以在 PHP 和 Python 中为相同的字符串生成相等的整数?

也许首先我们需要获取字符串哈希 int,然后转换整数的基数,但是我们到底如何做到这一点呢?hashable

php python radix python-3.x

5
推荐指数
1
解决办法
1356
查看次数

Jekyll 中的 Opengraph 链接预览

当您在现代写作网站中插入链接时,它们通常会显示页面预览而不是链接(如果段落中没有周围的文本)。

当我在我的 jekyll 网站上添加一些帖子链接时,我想要同样的体验,这是一种呈现他们预览的方式。

这对读者来说非常方便。有时预览错误地称为“嵌入”。

有没有办法在 Jekyll 页面/帖子中根据Open Graph 协议生成带有文本/图像预览的“预览卡” ?

markdown static-site jekyll facebook-opengraph

4
推荐指数
1
解决办法
2125
查看次数

如何使用boost::hash获取文件内容hash?

是否可以使用boost:hash函数生成像MD5一样固定长度的文件内容哈希?

有没有快速的解决方案?

如果没有,最简单的方法是什么?

c++ hash boost

3
推荐指数
1
解决办法
8761
查看次数