我正在尝试使用请求获取正确的编码。
request.get({
"uri":'http://www.bold.dk/tv/',
"encoding": "text/html;charset='charset=utf-8'"
},
function(err, resp, body){
console.log(body);
}
);
不管我做什么,丹麦字符的编码都不对。
有什么想法吗?
也许您的麻烦在于'Accept-Encoding'
标题。假设您的标题为'Accept-Encoding': 'gzip,deflate'
如果是这样,您有2种方法可以解决此问题:
const req = request(options, res => {
let buffers = []
let bufferLength = 0
let strings = []
const getData = chunk => {
if (!Buffer.isBuffer(chunk)) {
strings.push(chunk)
} else if (chunk.length) {
bufferLength += chunk.length
buffers.push(chunk)
}
}
const endData = () => {
let response = {code: 200, body: ''}
if (bufferLength) {
response.body = Buffer.concat(buffers, bufferLength)
if (options.encoding !== null) {
response.body = response.body.toString(options.encoding)
}
buffers = []
bufferLength = 0
} else if (strings.length) {
if (options.encoding === 'utf8' && strings[0].length > 0 && strings[0][0] === '\uFEFF') {
strings[0] = strings[0].substring(1)
}
response.body = strings.join('')
}
console.log('response', response)
};
switch (res.headers['content-encoding']) {
// or, just use zlib.createUnzip() to handle both cases
case 'gzip':
res.pipe(zlib.createGunzip())
.on('data', getData)
.on('end', endData)
break;
case 'deflate':
res.pipe(zlib.createInflate())
.on('data', getData)
.on('end', endData)
break;
default:
res.pipe(zlib.createInflate())
.on('data', getData)
.on('end', endData)
break;
}
});
本文向大家介绍nodejs使用socket5进行代理请求的实现,包括了nodejs使用socket5进行代理请求的实现的使用技巧和注意事项,需要的朋友参考一下 需要用到2个库, request socks5-http-client/lib/Agent/ 或 socks5-https-client/lib/Agent 因为一些已知原因,有时候,http.request请求无法拿到数据, 首先想到的是
嗨,有人能帮我吗。 如何请求soapweb服务并获取xml响应。Senario:使用SOAPUIIM发送带有用户名、密码身份验证的wsdl url,我还将发送SOAPXML数据并获得响应。如何使用nodejs或sails实现同样的目标。 在SoapUi中,我的soapxml请求如下 我的Soap身份验证就像 $UserName:xyz 我的wsdl url是http://esbuatt1wm.it
我试图通过参数在谷歌搜索,它的工作,当我搜索一个词,但一个我做空间它坏了我知道有一种方法来编码网址。 回溯: 还有一次,我用希伯来文写道: UnicodeEncodeError:“ascii”编解码器无法对位置14-18中的字符进行编码:序号不在范围内(128)
本文向大家介绍如何使用nodejs对base64进行编解码?相关面试题,主要包含被问及如何使用nodejs对base64进行编解码?时的应答技巧和注意事项,需要的朋友参考一下 轮子, https://www.npmjs.com/package/js-base64
问题内容: 我正在尝试在 Linux(Ubuntu)中 使用c编程来接收和发送arp数据包。 我的程序运行正常(即运行无任何错误),但是我无法使用Wireshark跟踪数据包。 源代码 : 问题答案: 有几件事情可以使您的数据包通过有线/空中传输。 适用于arp回复的.sll_protocol是ETH_P_ARP,来自 设置ah-> arp_op时,字节序错误。它是2个字节的网络字节序字段,因此请
问题内容: 我想用以下代码用jquery ajax解析JSON数组数据: 我的JSON数据是: 但是我没有任何输出…任何人请帮忙… 问题答案: 概念解释 您是否正在尝试进行跨域AJAX调用?意思是,您的服务不在同一Web应用程序路径中托管吗?您的Web服务必须支持方法注入才能执行JSONP。 您的代码看起来不错,并且如果您的Web服务和Web应用程序托管在同一域中,则该代码应该可以正常工作。 当您