- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 CocoaHTTPServer
托管我自己的 HTML
文件。在 index.html
中,我尝试对另一个资源执行请求,但无法成功执行该资源。这是我当前的设置。
self.httpServer = [[HTTPServer alloc] init];
[self.httpServer setType:@"_http._tcp."];
[self.httpServer setPort:8090];
NSString *webPath = [[NSBundle mainBundle].resourcePath stringByAppendingPathComponent:@"Web"];
[self.httpServer setDocumentRoot:webPath];
然后,当成功提供我的 index.html
文件时,我会从浏览器加载 http://localhost:8090
。
然后在 $(document).ready
上,我通过调用函数 startPoll
创建一个 AJAX
请求。
proxyAjax: function ( opts ) {
var proxyOpts = _.cloneDeep(opts);
if (!proxyOpts.headers) proxyOpts.headers = {};
proxyOpts.headers['x-forwarded-url'] = proxyOpts.url;
proxyOpts.url = new URI({
protocol: 'http',
hostname: 'localhost',
port: 8090,
path: '/'
}).toString();
proxyOpts.type = proxyOpts.type || proxyOpts.method;
console.log("PROXYING:", proxyOpts);
return $.ajaxDigest(proxyOpts);
},
// Attempt an API call to the camera on a short timeout.
// Call the callback when we have a non-timeout response.
startPoll: function ( callback ) {
var self = this;
console.log("Polling...");
this.proxyAjax({
url: 'http://192.168.123.1/deviceinfo',
username: 'admin',
password: 'password',
timeout: 2000
})
.done( function ( data, textStatus, jqXHR ) {
console.log("Poll success:", arguments);
callback(jqXHR);
})
}
然后我的HTTPServer
在此方法中获取HTTPConnection.m
中的请求- (void)replyToHTTPRequest
Xcode 控制台显示此请求传入。
Received HTTP request:
GET / HTTP/1.1
Host: localhost:8090
X-Requested-With: XMLHttpRequest
Accept-Language: en-US,en;q=0.8
x-forwarded-url: http://192.168.123.1/deviceinfo
Accept: */*
User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5
Referer: http://localhost:8090/
Accept-Encoding: gzip, deflate, sdch
Connection: keep-alive
现在,我尝试向 x-forwarded-url
发出新请求,并将该响应作为原始响应返回,但未成功。我在 startPoll
中的 done
回调从未被调用。
if ([[request headerField:@"x-forwarded-url"] length] > 0) {
NSURL *url = [[NSURL alloc] initWithString:[request headerField:@"x-forwarded-url"]];
HTTPMessage *remoteRequest = [[HTTPMessage alloc] initRequestWithMethod:@"HEAD" URL:url version:[request version]];
[remoteRequest setHeaderField:@"Access-Control-Allow-Origin" value:@"*"];
[remoteRequest setHeaderField:@"Access-Control-Allow-Methods" value:@"GET,PUT,POST,DELETE,OPTION"];
[remoteRequest setHeaderField:@"Access-Control-Allow-Headers" value:@"Accept, Origin, Content-Type"];
[remoteRequest setHeaderField:@"HOST" value:url.host];
NSData *requestData = [remoteRequest messageData];
NSString *responseString = [[NSString alloc] initWithData:requestData encoding:NSUTF8StringEncoding];
APILogVerbose(@"%@[%p]: HTTP Request:\n%@", THIS_FILE, self, responseString);
[asyncSocket writeData:requestData withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_REQUEST_HEADER];
return;
}
有人看到我遗漏或应该尝试的任何内容吗?
最佳答案
我希望将“Access-Control-Allow-Origin”视为来自 HTTP 服务器的响应 header ,而不是从服务器到 x-forwarded-url 的请求 header 。
关于javascript - 来自 CocoaHTTPServer 的跨源 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35302774/
我想将 CocoaHTTPServer 作为一个没有任何屏幕的独立后台应用程序运行。设备中的其他应用程序应该能够与此应用程序通信以实现远程服务器连接。在 iOS 中技术上可行吗?非常感谢任何建议。 最
我一直在尝试找到一种在 iOS 设备上运行 http 服务器的解决方案,只要包含的应用程序打开并运行,就可以从任何地方访问该服务器。 在寻找解决方案时,我遇到了几个库,其中之一是 Cocoahttps
我在 iPhone 应用程序中使用 cocoahttpserver,但是当我尝试下载它(通过单击标准演示应用程序中的链接)时,我的 sqlite 文件 (myDatabase.sqlite) 在我的
我已经设法让 CocoaHTTPServer 中的 iPhoneHTTPServer 示例正常工作 - 我可以显示网页、运行 JavaScript 等,但我不知道如何将文件从我的 PC 上传到我的 i
它是否发送一个可以列出的已经开始的通知,或者是否有一个委托(delegate)协议(protocol)来实现? 我找不到有关 Google code page 的文档. 最佳答案 - (BOOL)st
我正在尝试在 MAC OS X 上实现一个服务器,为 iOS 设备流式传输视频。 在服务器端,我使用 CocoaHTTPServer 返回一个 .mp4 视频。 - (HTTPFileResp
我需要从 URL 下载一个文件并将其保存到我的 iphone 应用程序中的本地 cocoahttpserver 中,以便稍后我可以使用类似 http://localhost/filename.txt
这个问题需要很多关于苹果空中播放配置文件的背景知识。 首先,我在iOS应用程序中使用cocoahttpserver设置了Web服务器,并希望提供对.mobileconfig的访问,但这需要将MIME类
我有一个简单的方法来检查我是否传递了像“/testPhoto”这样的参数,如果传递了,我想尝试用一个简单的图像来回答,该图像具有您可以在变量“testPath”中看到的路径“(尝试的静态路径)。目前,
我正在开发一个 iPhone 应用程序,它使用 CocoaHTTPServer 进行远程服务器通信。 应用程序会将请求详细信息发送到 CocoaHTTPServer,后者将在本地存储请求。一旦互联网连
我正在尝试弄清楚如何保持与 CocoaHTTPServer 的连接打开,以便利用服务器发送事件(SSE)。沿着http://tenderlovemaking.com/2012/07/30/is-it-
我在提供本地镜像目录的 MacOSX 应用程序(服务器)中使用 CocoaHTTPServer。我有一个相应的 iOS 应用程序(客户端),它使用 AFHTTPRequestOperation (AF
我正在使用 CocoaHTTPServer 托管我自己的 HTML 文件。在 index.html 中,我尝试对另一个资源执行请求,但无法成功执行该资源。这是我当前的设置。 self.httpSer
我有以下代码来启动我自己的 Cocoa HTTP Server .为了手动处理响应,我创建了名为 PictureHTTPConnection 的自定义 HTTPConnection 类 self.ht
我正在创建一个应用程序,一个设备充当服务器,其他设备加入,我设法创建服务器,但我找不到流式传输音频(设备本地歌曲)的方法。 步骤: 我使用 GCDWebServer 创建服务器 从 MPMediaIt
我无法从 Duesty Designs(CocoaAsyncSocket 的出色开源库制造商)获得 Cocoahttpserver 以提供来 self 的应用程序包的图像。使用示例 iPhone 项目
我在我的应用程序中使用 cocoaHttpserver 将内容传输到 iPhone。但它只提供单个文件上传。但是我看到了提供多个上传的应用程序,例如 dropbox、mydocs。在谷歌搜索期间,我发
我正在尝试添加 CocoaHTTPServer到我的项目。我在路上遇到了很多问题 - 我的问题(将 CocoaHTTPServer 添加到项目中(并使其工作))仍然存在 - 但我也包含了我在路上遇到的
我想使用 CocoaHTTPServer 制作以下网页: 应该有下载文件的链接,但源文件必须是NSData内存中的对象。 据我在样本中看到的,有一种简单的方法可以将 iPhone 上的某些文件链接到超
我是一名优秀的程序员,十分优秀!