标签: urlencode

url编码正斜杠打破我的codeigniter应用程序

我正在尝试创建一个像这样工作的url字符串:

/app/process/example.com/index.html
Run Code Online (Sandbox Code Playgroud)

换句话说,

/app/process/$URL
Run Code Online (Sandbox Code Playgroud)

我然后检索网址

$this->uri->segment(3);
Run Code Online (Sandbox Code Playgroud)

URL中的正斜杠当然是访问uri段的问题,所以我将继续并对url编码URL部分:

/app/process/example.com%2Findex.html
Run Code Online (Sandbox Code Playgroud)

..但现在我得到一个404说...

Not Found

The requested URL /app/process/example.com/index.html was not found on this server. 
Run Code Online (Sandbox Code Playgroud)

似乎我的正斜杠的url编码打破了CI​​的URI解析器.

我该怎么做才能解决这个问题?

php url uri codeigniter urlencode

13
推荐指数
3
解决办法
2万
查看次数

HttpClient重定向到URL,空格抛出异常

我正在访问一个URL,该URL将我重定向到包含空格的URL.(使用HttpClient 4.x)如何防止此错误(用%20替换空格而不是+)

08-06 02:45:56.486: WARN/System.err(655): org.apache.http.client.ClientProtocolException
08-06 02:45:56.493: WARN/System.err(655):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557)
08-06 02:45:56.534: WARN/System.err(655):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:509)
08-06 02:45:56.603: WARN/System.err(655):     at com.romcessed.romsearch.searchproviders.DopeRomsConnector$DownloadROMTask.doInBackground(DopeRomsConnector.java:636)
08-06 02:45:56.623: WARN/System.err(655):     at com.romcessed.romsearch.searchproviders.DopeRomsConnector$DownloadROMTask.doInBackground(DopeRomsConnector.java:1)
08-06 02:45:56.643: WARN/System.err(655):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
08-06 02:45:56.663: WARN/System.err(655):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-06 02:45:56.683: WARN/System.err(655):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-06 02:45:56.693: WARN/System.err(655):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
08-06 02:45:56.713: WARN/System.err(655):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
08-06 02:45:56.713: WARN/System.err(655):     at java.lang.Thread.run(Thread.java:1096)
08-06 02:45:56.743: WARN/System.err(655): Caused by: org.apache.http.ProtocolException: Invalid redirect URI: http://somewebsite.com/some file with spaces.zip
08-06 02:45:56.787: WARN/System.err(655):     at org.apache.http.impl.client.DefaultRedirectHandler.getLocationURI(DefaultRedirectHandler.java:116)
08-06 02:45:56.803: WARN/System.err(655):     at org.apache.http.impl.client.DefaultRequestDirector.handleResponse(DefaultRequestDirector.java:892)
08-06 …
Run Code Online (Sandbox Code Playgroud)

java redirect android urlencode apache-httpclient-4.x

13
推荐指数
2
解决办法
2万
查看次数

在Android上,使用URL编码表单数据发出POST请求,而不使用UrlEncodedFormEntity

我有一个已经采用正确的URLEncoded Form格式的字符串,并希望通过Android上的POST请求将其发送到PHP服务器.我知道在Android上发送URL编码表单的方法使用了UrlEncodedFormEntity,我知道如何使用它.但问题是,数据进入已经URL编码,并通过&符号加入的功能,所以使用UrlEncodedFormEntity会涉及到很多额外的工作,把它变成一个ListNameValuePairs,我宁愿不要.

那么,如何发送一个正确的POST请求发送此字符串作为内容正文?

我已经尝试过使用StringEntity,但是PHP服务器没有获得任何数据(空$_POST对象).

我正在测试针对http://test.lifewanted.com/echo.json.php这简直是

<?php echo json_encode( $_REQUEST );
Run Code Online (Sandbox Code Playgroud)

以下是已编码数据的示例:

partnerUserID =电子邮件%40example.com&partnerUserSecret =输入mypassword&命令=身份验证

android urlencode http-post

13
推荐指数
1
解决办法
2万
查看次数

我应该url编码一个URL的查询字符串参数吗?

只是说我有以下url,它有一个查询字符串参数,它是一个url:

http://www.someSite.com?next=http://www.anotherSite.com?test=1&test=2

我应该对next参数进行url编码吗?如果我这样做,谁负责解码它 - 网络浏览器,或我的网络应用程序?

我问的原因是我看到很多大型网站都做了以下事情

http://www.someSite.com?next=http://www.anotherSite.com/another/url

在上面,他们不打扰next参数编码,因为我猜测,他们知道它本身没有任何查询字符串参数.如果我的next网址不包含任何查询字符串参数,这可以吗?

url urlencode

13
推荐指数
2
解决办法
1万
查看次数

使用Objective-C对字符串进行URLE编码

我正在尝试对字符串进行URL编码以形成来自objective-c的GET请求.

NSString *params = @"'Decoded data!'/foo.bar:baz";

NSRunAlertPanel( @"Error", [params urlEncoded], @"OK", nil, nil );
Run Code Online (Sandbox Code Playgroud)

这是扩展NSString的类别

    -(NSString *) urlEncoded
{
    NSString *encoded = (NSString *)CFURLCreateStringByAddingPercentEscapes(
                                                   NULL,
                                                   (CFStringRef)self,
                                                   NULL,
                                                   (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
                                                   kCFStringEncodingUTF8 );
    return encoded;
}
Run Code Online (Sandbox Code Playgroud)

所以第一次运行它我就回来了

1606410046ecoded          1606410784ata2270.000000foo.bar0X1.001716P-1042baz
Run Code Online (Sandbox Code Playgroud)

从对话框中.

我再次运行后立即得到了这个

1606410046ecoded          1606410944ata227369374562920703448982951250259562309742470533728899744288431318481119278377104028261651081181287077973859930826299575521579020410425419424562236383226511593137467590082636817579938932512039895040.000000foo.bar0X1.66E6156303225P+771baz
Run Code Online (Sandbox Code Playgroud)

然后,如果我再次运行它,它会回到第一个.这真的很奇怪.

如果params设置为@"&"或@"",我只需在对话框中找回"2"(不带引号).

还有一种方法可以在警告对话框中显示%符号吗?

谢谢

string cocoa objective-c urlencode

12
推荐指数
2
解决办法
1万
查看次数

如何在GET上停止浏览器的url-encoding表单值

我有一个表格method="get".在表单中,我需要传递CSS文件的URL,但它将其编码为http%3A%2F%2Fwww...等.

有没有办法停止URL的编码,因为它打破了文件.

谢谢

html urlencode character-encoding

12
推荐指数
2
解决办法
3万
查看次数

为什么Jersey的UriBuilder.build方法编码#'和%',但不是/?

我有一个相当典型的REST API,除了资源的id不是整数,而是字符串,通常包含/字符.因此,如果客户的ID是string/with/slashes该客户的URI应该是http://localhost/customers/string%2Fwith%2Fslashes.返回客户列表时,我想用UriBuilder构造URI,这样我就可以把它放在ATOM风格的链接元素的href中.但它不太有效; 这是一个小测试类,显示我的意思:

@Path("/customers")
public class JerseyTest {

  @Path("{id}")
  public Customer getCustomer(@PathParam("{id}") String id) {
    return null;
  }

  public static void main(String[] args) {
    buildURI("string#with#hashes"); // => http://localhost/customers/string%23with%23hashes
    buildURI("string/with/slashes"); // => http://localhost/customers/string/with/slashes
  }

  public static void buildURI(String id) {
    UriBuilder builder = UriBuilder.fromUri("http://localhost");
    builder.path(JerseyTest.class).path(JerseyTest.class, "getCustomer");
    URI uri = builder.build(id);
    System.out.println(uri);
  }
}
Run Code Online (Sandbox Code Playgroud)

#太棒了,我们编码为我所期望的,但/我们做不.我尝试使用builder.build(URLEncoder.encode(id)),但随后UriBuilder编码了%,所以你得到了.../string%252Fwith%252Fslashes!

在我看来,不一致的,它编码#%而不是/,但我怀疑是有很好的理由对此我没有看到.所以我的问题是:

  1. 我怎样才能得到UriBuilder给我.../string%2Fwith%2Fslashes …

rest jax-rs urlencode jersey

12
推荐指数
1
解决办法
5040
查看次数

如何在PHP中仅对URL的非ASCII符号进行URL编码,但是保留的符号是否未编码?

我有一个看起来像这样的URL(注意""符号):

http://tinklarastis.omnitel.lt/kokius-aptarnavimo-kanalus-klientui-siulo-„omnitel“-1494

我从SimplePie解析器接收它,如果这很重要.现在,如果您尝试在浏览器中访问此特定URL并从地址栏复制它,您将获得一个具有非ASCII符号百分比编码的URL :

http://tinklarastis.omnitel.lt/kokius-aptarnavimo-kanalus-klientui-siulo-%E2%80%9Eomnitel%E2%80%9C-1494

我试图了解如何在PHP中模仿相同的转换.我不能简单地使用urlencode()urlrawencode()编码非ASCII符号保留符号,而在我的情况下,保留符号(/?&等)应保持原样.

到目前为止,我只看到了将URL拆分为保留符号之间然后使用的解决方案urlencode(),但这对我来说感觉很乱,我希望有更优雅的解决方案.我已经试过的各种变化iconv(),mb_convert_encoding(),但没有成功呢.

php urlencode utf-8

12
推荐指数
2
解决办法
4694
查看次数

在php中编码包含连字符( - )和点(.)的URL

我需要编码的URL在其中一个API中进行处理,但它需要完整的编码URL.例如,来自的URL:

http://test.site-raj.co/999999?lpp=1&px2=IjN
Run Code Online (Sandbox Code Playgroud)

必须成为编码的URL,如:

http%3a%2f%test%site%2draj%2eco%2f999999%3flpp%3d1%26px2%3dIjN
Run Code Online (Sandbox Code Playgroud)

我需要对每个符号进行编码,甚至像上面的点(.)和连字符( - )一样.

php encode urlencode

12
推荐指数
2
解决办法
8万
查看次数

为什么HttpUtility类不被识别?

我试图HttpUtility.UrlEncode在我的VB.NET项目中调用静态,但是IDE没有认识到该类没有声明它.

我已经导入了名称空间System.NetSystem.Web项目.

我还在文件的顶部有以下内容:

Imports System.Net
Imports System.Web
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

.net vb.net http urlencode

12
推荐指数
1
解决办法
2万
查看次数