截至目前,我正在使用下面的代码下载文件以获取源代码:
NSString *stringUrl = @"http://example.com/hello/goodbye.html";
NSURL *finalURL = [NSURL URLWithString:[stringUrl stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
self.source = [NSString stringWithContentsOfURL:finalURL encoding:NSUTF8StringEncoding error:nil];
不要误会我的意思,它很好用,但如果 url 没有像这样的扩展名,它根本不起作用:
NSString *stringUrl = @"http://example2.com/something/";
NSURL *finalURL = [NSURL URLWithString:[stringUrl stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
self.source = [NSString stringWithContentsOfURL:finalURL encoding:NSUTF8StringEncoding error:nil];
如何获取未定义扩展名的 html 源代码? 希望有人能帮我解决这个问题,因为我的整个项目都依赖于从没有扩展名的 url 获取源代码。谢谢
最佳答案
它应该像定义了一个文件一样工作。 GET url 只是对网络服务器的请求。允许服务器返回它想要的"file"的任何内容。
换句话说:处理像这样的奇怪 URL 的复杂性不需要成为您下载代码的一部分(只要您处理重定向请求)。这是服务器端的复杂性。
编辑:
如果您试图获取页面的 PHP 源代码(或编写 Web 应用程序所用的任何服务器端语言),那您就太不走运了。所有这些代码都在服务器端处理,根本不会发送到客户端。
编辑2:
如果你想把像 http://example2.com/something/
这样的东西变成 http://example2.com/something/whatever-file-the-webserver -used.XXX
,那你也倒霉了。从来没有人说过 Web 服务器必须将其交给一个文件——同样,URL 只是变成了对服务器的 GET 请求。服务器可以根据需要自由生成响应,它甚至不需要查询特定的文件系统文件来生成结果(它可以完全由网络服务器本身在内存中生成,根本不接触文件系统)。系统甚至不需要知道文件的概念,仍然能够很好地实现 HTTP 本身。
关于iphone - 如何下载没有文件扩展名的url源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532703/