Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa Webkit访问url而不键入http://?_Cocoa_Url_Webkit - Fatal编程技术网

Cocoa Webkit访问url而不键入http://?

Cocoa Webkit访问url而不键入http://?,cocoa,url,webkit,Cocoa,Url,Webkit,有没有一种不用输入http://?就可以访问网站的方法如果你想复制Safari的“协议猜测”甚至“TLD猜测”,你必须自己实现 从用户的角度来看,您通常不必在web浏览器中输入协议,因为可以安全地假定协议为“HTTP”。从开发人员的角度来看,在形成URL时需要指定协议 既然您将这个问题标记为“webkit”,我假设您正在使用WebView。从-[WebView setMainFrameURL:的文档中: 此方法在功能上是等效的 调用[[webView大型机] loadRequest:[NSURL

有没有一种不用输入http://?

就可以访问网站的方法如果你想复制Safari的“协议猜测”甚至“TLD猜测”,你必须自己实现

从用户的角度来看,您通常不必在web浏览器中输入协议,因为可以安全地假定协议为“HTTP”。从开发人员的角度来看,在形成URL时需要指定协议

既然您将这个问题标记为“webkit”,我假设您正在使用WebView。从
-[WebView setMainFrameURL:
的文档中:

此方法在功能上是等效的
调用[[webView大型机]
loadRequest:[NSURLRequest
requestWithURL:[NSURL
URLWithString:URLString]]]

请注意,名称不正确的-setMainFrameURL:方法接受NSString,而不是预期的NSURL。因此,考虑到这一点,您仍然必须提供有效的URL字符串才能获得有效的URL

但是,对于您在评论中提到的情况,请务必注意
http://example.com
http://www.example.com
。这由目标域的名称服务器处理,与URL是否有效无关。这是因为
example.com
可能仍然解析为实际主机(即,没有主机的域的记录转发到
www
)。有些域不这样做,因此您可能希望通过尝试在
www
之前添加前缀(如果不存在)来分别处理这种情况(无效主机名)。重要的是,有效的URL不是有效的域


考虑到所有这些,您必须推出自己的“猜测”解决方案。

我不确定是否理解您的问题,但您能否检查URL是否以
协议开头:
,如果不是,请尝试预先添加
http://
?您可以访问https://URL-但你还是得打那个。我想让它像一个现代浏览器,你可以输入digg.com或www.digg.com,它会工作