当前位置: 首页 > 知识库问答 >
问题:

从网页运行curl超文本传输协议请求

易博文
2023-03-14

我有以下curl命令,它在bash shell中运行良好

      $ curl  -d '{"img_url":"http://ec2-54-167-249-150.compute-1.amazonaws.com/IMG_86478_mono.bmp","engine":"tesseract"}' http://ec2-54-226-250-92.compute-1.amazonaws.com:8080/ocr

我现在想通过一个简单的网页运行这个按钮点击。这是我的Javascript

      function processImage() 
      {   
          $.ajax({ 
                  url: 'http://ec2-54-226-250-92.compute-1.amazonaws.com:8080/ocr',
                  cache: false,
                  type : "POST",            
                  data: {   img_url : 'http://ec2-54-167-249-150.compute-1.amazonaws.com/IMG_86478_mono.bmp',
                    engine : 'tesseract' },
                  dataType: 'json',
                  success: function(response)
                  {
                      alert("success");
                  }    

            });
      }

但是当我通过网页按钮点击运行这个javascript时,它给我以下错误“网络错误:500内部服务器错误-http://ec2-54-226-250-92.compute-1.amazonaws.com:8080/ocr”,我的成功()方法永远不会被调用。

正如我所说,我知道服务器没有问题,因为从linux cmd提示符调用时它工作正常。问题是我的javascript有什么问题?

共有2个答案

茅和玉
2023-03-14

Curl确实对我有效,但当我尝试通过jQuery访问时,我得到了一个500错误,就像你一样。当我在谷歌上搜索错误时,它几乎总是因为你的文章中缺少一个论点。htaccess文件:

如何修复“缺少跨源资源共享(CORS)响应头”webfont问题?

缺少CORS标头“Access-Control-Allow-Origin”

宋经赋
2023-03-14

您正在对与页面所在域不同的域执行XMLHttpRequest。因此,浏览器正在阻止它,因为出于安全原因,它通常允许来自同一来源的请求。当你想做跨域请求时,你需要做一些不同的事情。关于如何实现这一点的教程是使用CORS。

注意-当您使用邮递员时,他们不受此策略的限制。引用自跨域XMLHttpRequest

常规网页可以使用XMLHttpRequest对象从远程服务器发送和接收数据,但它们受到同源策略的限制。扩展没有那么有限。扩展可以与其源站之外的远程服务器进行通信,只要它首先请求跨源权限。

 类似资料:
  • 我正在使用GWT和Spring controller来管理http流量。有些请求可能需要很长时间,但我希望在超过给定时间时终止请求。 我如何配置超时Spring。我也使用Apache Tomcat 7.0。我试图在tomcat上inrease最大线程,但有一段时间tomcat工作缓慢,因为请求线程不会死。

  • 我用Go编写了一个简单的服务器: 以及一个用Python编写的用于测试的简单客户端。以下是代码: 每次客户端访问服务器时,服务器都会产生这个错误: 我知道如何在Go中处理JSON Post请求 Python版本==3.4 Go版本==1.7 先谢谢你。

  • 我有专有的基于http的API要从JMeter测试。不幸的是,API的一些endpoint希望http DELETE方法带有请求体(我知道它的API设计有问题,使用DELETE with request body,但我无法更改该API,需要对其进行测试)。 如何从JMeter测试它?似乎标准的HttpRequest采样器在没有任何警告的情况下默默忽略了我的身体有效载荷。(当我在《邮递员》中尝试它时

  • 我想知道你对这个概念的看法/意见。如果有替代方案?这是否可行/有益? 据我所知,对于每个http请求,服务器都会执行一些操作并返回http响应。 现在考虑任何场景,我们希望对服务器上运行的进程有更多的控制。 情景1:http请求发送- 在这里,资源被浪费了。 情况2:http请求发送- 在这里,客户端不知道服务器中运行的进程的状态。客户端必须等待,直到它获得超文本传输协议响应。 我的想法是:在初始

  • 在owncloud相关网站和stackoverflow自身的以下链接中,所有相关信息都以不完整的形式呈现: 用户配置Api-Owncloud 我试着做一些非常简单的事情: > 我得到这样的输出: 开始处理凭据,首先它将存储在本地变量中 Hello Frank 您的密码是frankspassword failure 997未经授权 在owncloud中创建了一个新用户 我还尝试使用以下php脚本登录

  • 我有以下伪代码 我想要的是,我循环遍历一个对象数组,每个对象都获得相关的用户和产品,然后订阅用户和产品。我怎么能那样做?