Url参数不接受长字符串

本文关键字:字符串 不接受 参数 Url | 更新日期: 2023-09-27 18:16:49

在将图像与数据一起发送到Web服务器时,它不接受长字符串。我通过url发送数据。对于国家、大陆和城市的小字符串,它工作得很好

    http://user.co/UserImage.svc/InsertObjectImage?UserId={UserId}&CategoryId={CategoryId}&ImageName={ImageName}&Gender={Gender}&Continent={Continent}&Country={Country}&City={City}

上面的url在程序中使用到"?",之后是参数

    NSString *url=[NSString stringWithFormat:@"http://userdata.co.in/UserImage.svc/InsertFacialImage?%@",requestString];
    NSLog(@"insert facial image url : %@",url);
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
    [request setURL:[NSURL URLWithString:url]];
    [request setHTTPMethod:@"POST"];

我用来发送图像和数据的代码。这里我用url传递字符串。NSString最多可以容纳42亿个字符。在web服务器中,我将参数设置为允许200个字符。但是当我发送像united states of america这样的长字符串时,它会产生不存储数据的麻烦。使用c#在WCF中开发的服务

Url参数不接受长字符串

URL有长度限制,但是检查URL是否有效也是值得的。

URL需要正确编码,因此您应该在URL字符串中传递united%20states%20of%20america而不是united states of america

这是因为URL将空格编码为%20。对于任何其他"特殊"字符,这些字符也被编码。有很多在线资源可以帮助你,一个快速的在线编码器/解码器可以在这里找到:http://meyerweb.com/eric/tools/dencoder/