2012-08-31 45 views
4

我得到了error 1000 (URL bad excess),我不确定发生了什么。样品URL大致是这样的(这已经是我从Bad URL when requesting with NSURL读取编码的百分比):NSURL Bad Excess

http://test1.test.com/X?op=find&base=tpl01&request=%28%28WCL=DVD%20or%20WCL=VCD%20or%20WCL=SDVD%29%20AND%20%28WFM=VM%29%20AND%20%28WIS=19%20or%20WIS=01%29%29 

不过,我仍然不知道为什么它不工作。

如果需要的话(前的百分比编码):

http://test1.test.com/X?op=find&bas=tp01&request=((WCL=DVD or WCL=VCD or WCL=SDVD) AND (WFM=VM) AND (WIS=19 or WIS=01)) 

在我的互联网连接,我已经记录了request.URL但它只是似乎被清零。我确实插入了我的网址。将以任何方式感谢您的帮助。

+2

哪里是你的代码? –

+1

我想我们需要看看创建NSURL的一些代码。 – mttrb

+1

另外,您是否允许在Aleph的'server_ip_allowed'配置文件中访问iPhone的IP地址。如果你正在编写一个通用版本的应用程序,允许客户端直接与X-Server对话是一个非常糟糕的主意,我会通过中间Web服务代理请求来保护你的Aleph实例免受恶意请求的侵害。 – mttrb

回答

0

编辑:的编码类型stringByAddingPercentEscapesUsingEncoding可能会解决你的问题

NSString* urlText = @"http://test1.test.com/X?op=find&bas=tp01&request=((WCL=DVD or WCL=VCD or WCL=SDVD) AND (WFM=VM) AND (WIS=19 or WIS=01))"; 
urlText = [urlText stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
NSURL *url = [NSURL URLWithString: urlText]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url 
                 cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData 
                timeoutInterval:10]; 

[request setHTTPMethod: @"GET"]; 

    NSError *requestError; 
NSURLResponse *urlResponse = nil; 


NSData *response1 = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&requestError]; 

希望这有助于

+0

给出的网址没有任何反应 –

+0

我不确定这个答案是特别有用的。我相信OP已经在这个问题上改变了他的服务器的主机名。他甚至说“示例URL大致看起来像这样”,这意味着他发布的URL不是实际的URL。 – mttrb

+0

@王子是的,抱歉,我忘记提及我更改了主机名。请原谅我,因为我处于难以透露网址的状态。正常的URL正在工作,但只有当我使用应用程序来获取数据使用URL,然后它返回一个NULL值request.URL – Sahara