首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PythonAnywhere中使用请求时“主机名不匹配”

在PythonAnywhere中使用请求时“主机名不匹配”
EN

Stack Overflow用户
提问于 2017-05-22 08:52:51
回答 1查看 3.6K关注 0票数 1

编辑:我修复了问题,请参阅答案中的链接。

我正在使用XMLHttpRequest AJAX从不同的网站向PythonAnywhere服务器发送数据。奇怪的事情发生了:取决于网站,要么我们发送成功,要么我们得到这个错误。

代码语言:javascript
复制
POST https://canecto.pythonanywhere.com/api/ 500 (Internal Server Error)

即使加载了相同的代码。我试着用Chrome手动打开请求并通过JavaScript控制台发送数据,但是没有什么改变。

下面是代码片段的样子:

代码语言:javascript
复制
var url = "https://canecto.pythonanywhere.com/api/";
var xmlHttpPost = new XMLHttpRequest();
xmlHttpPost.open("POST", url, true);
xmlHttpPost.setRequestHeader("Content-type", "application/json");

var postData = {
    page_url: window.location.href,
    time_on_page: activeTime,
    cookie: cookie,
    /* some variables */
};
xmlHttpPost.onreadystatechange = function() {
    if (xmlHttpPost.readyState == 4 && XMLHttpRequest.DONE) {
            console.log('');
    }
};

/* send data */
xmlHttpPost.send(JSON.stringify(postData));

我读过这里,问题不应该是客户端JavaScript。

如果我检查服务器端的requests.get(page_url, headers=HEADER, timeout=10)行(我试图访问页面),就会得到以下日志:

我在Python请求库上读到,它可能与SSL验证有关,但我对它几乎没有什么线索。我试图检查其他类似的问题,但我没有找到答案。

有没有人经历过类似的事情并成功地解决了这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-22 10:02:14

,它仍然使用Python < 2.7.9这个答案为我工作。Python2中不支持SNI,这意味着您应该遵循这样的答案和这些要求来使请求与SSL证书验证一起工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44108573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档