相关疑难解决方法(0)

为什么请求.get()不返回?request.get()使用的默认超时是多少?

在我的脚本中,requests.get永远不会返回:

import requests

print ("requesting..")

# This call never returns!
r = requests.get(
    "http://www.justdial.com",
    proxies = {'http': '222.255.169.74:8080'},
)

print(r.ok)
Run Code Online (Sandbox Code Playgroud)

可能的原因是什么?任何补救措施?get使用的默认超时是多少?

python get python-requests

79
推荐指数
6
解决办法
7万
查看次数

Python请求很慢,需要很长时间才能完成HTTP或HTTPS请求

使用 requests 库请求 Web 资源或网站或 Web 服务时,请求需要很长时间才能完成。该代码类似于以下内容:

import requests
requests.get("https://www.example.com/")
Run Code Online (Sandbox Code Playgroud)

此请求需要 2 多分钟(正好 2 分 10 秒)才能完成!为什么它这么慢,我该如何解决?

python urllib3 python-3.x python-requests

17
推荐指数
1
解决办法
1万
查看次数

使用现有套接字连接的Python"请求"

Python"请求"库目前风靡一时,因为它提供了用于发出HTTP请求的漂亮界面 - 但在它下面似乎有很多层间接 - 会话,HTTP适配器,最后是urllib3的机制.

如果我已经拥有一个打开的套接字,并希望使用"请求"在该套接字下发送HTTP响应并收到回复,那么在这个抽象堆栈中哪里是干预的正确位置?

如果没有某种干预(或自定义?),堆栈将尝试为我创建一个新的TCP/IP套接字,但在我的特定应用程序中,我的代码在代表我已建立连接之前不会被调用,所以我会如果我想能够使用请求的功能,需要说服请求在现有套接字上进行通话.

请求库:

http://pypi.python.org/pypi/requests

https://github.com/kennethreitz/requests

python sockets http python-requests

16
推荐指数
2
解决办法
9889
查看次数

golang 强制 net/http 客户端使用 IPv4/IPv6

我使用 go1.11 net/http 并且想判断域是否仅支持 ipv6。

你做了什么?

我创建了自己的 DialContext,因为我想检测域是否仅支持 ipv6。下面的代码

package main
import (
    "errors"
    "fmt"
    "net"
    "net/http"
    "syscall"
    "time"
)
func ModifiedTransport() {
    var MyTransport = &http.Transport{
        DialContext: (&net.Dialer{
            Timeout:   30 * time.Second,
            KeepAlive: 30 * time.Second,
            DualStack: false,
            Control: func(network, address string, c syscall.RawConn) error {
                if network == "ipv4" {
                    // I want to  cancel connection here client.Get("http://myexample.com") return a non-nil err.
                    return errors.New("you should not use ipv4")
                }
                return nil
            },
        }).DialContext,
        MaxIdleConns:          100,
        IdleConnTimeout:       90 * …
Run Code Online (Sandbox Code Playgroud)

web-crawler go

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

如何强制python httplib库只使用A请求

问题是使用httplib的urllib正在查询AAAA记录.

我想避免这种情况.有一个很好的方法吗?

>>> import socket
>>> socket.gethostbyname('www.python.org')
'82.94.164.162'


21:52:37.302028 IP 192.168.0.9.44992 > 192.168.0.1.53: 27463+ A? www.python.org. (32)
21:52:37.312031 IP 192.168.0.1.53 > 192.168.0.9.44992: 27463 1/0/0 A 82.94.164.162 (48)


 python /usr/lib/python2.6/urllib.py -t http://www.python.org >/dev/null 2>&1

 21:53:44.118314 IP 192.168.0.9.40669 > 192.168.0.1.53: 32354+ A? www.python.org. (32)
21:53:44.118647 IP 192.168.0.9.40669 > 192.168.0.1.53: 50414+ AAAA? www.python.org. (32)
21:53:44.122547 IP 192.168.0.1.53 > 192.168.0.9.40669: 32354 1/0/0 A 82.94.164.162 (48)
21:53:44.135215 IP 192.168.0.1.53 > 192.168.0.9.40669: 50414 1/0/0 AAAA[|domain]
Run Code Online (Sandbox Code Playgroud)

python dns ipv4 ipv6

2
推荐指数
1
解决办法
2461
查看次数

标签 统计

python ×4

python-requests ×3

dns ×1

get ×1

go ×1

http ×1

ipv4 ×1

ipv6 ×1

python-3.x ×1

sockets ×1

urllib3 ×1

web-crawler ×1