为什么 HttpContext.Current.Request.Url.Host 返回的 URL 与 Web 浏览器中使用的 URL 不同?例如,在浏览器中输入“www.someurl.com”时,HttpContext.Current.Request.Url.Host 变量等于“www.someotherurl.com”。
我已经通过 cPanel 在我的 Web 服务器上创建了一个 MySQL 数据库和一个表。我的问题是:如何从 Visual Basic.net 应用程序访问此数据库和表?
我应该使用什么作为主机地址?网络服务器的 http 地址是http://www.canninginc.co.nz
目前我尝试启动 Node.js 服务器,并且我确实想了解 server.listen 的参数。
server.listen(port, hostname, backlog, callback);
Run Code Online (Sandbox Code Playgroud)
问题:据我了解,listen 的 2. 参数应该是主机名。结果应该是,我能够通过“主机名:7000”到达服务器,但结果是脚本崩溃了。没有“主机名”一切正常。这里有什么问题吗?“主机名”有什么用?
const server = http.createServer(function (req, res) {
console.log(req);
});
server.listen(7000, "bla");
Run Code Online (Sandbox Code Playgroud)
浏览器:
bla:7000
Run Code Online (Sandbox Code Playgroud)
不起作用。
错误:
Error: listen EADDRNOTAVAIL 22.0.0.0:7000
at Object.exports._errnoException (util.js:1022:11)
at exports._exceptionWithHostPort (util.js:1045:20)
at Server._listen2 (net.js:1246:19)
at listen (net.js:1295:10)
at net.js:1405:9
at _combinedTickCallback (internal/process/next_tick.js:77:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
at Module.runMain (module.js:606:11)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
Run Code Online (Sandbox Code Playgroud) 我想在我的设置中有一些东西,比如
if ip in DEV_IPS:
SOMESETTING = 'foo'
else:
SOMESETTING = 'bar'
Run Code Online (Sandbox Code Playgroud)
有一个简单的方法来获取IP或主机名 - 也 - 这是一个坏主意?
这是我的kvs.erl:
-module(kvs).
-export([start/0, store/2, lookup/1]).
start() -> register(kvs, spawn(fun() -> loop() end)).
store(Key, Value) -> rpc({store, Key, Value}).
lookup(Key) -> rpc({lookup, Key}).
rpc(Q) ->
kvs ! {self(), Q},
receive
{kvs, Reply} ->
Reply
end.
loop() ->
receive
{From, {store, Key, Value}} ->
put(Key, {ok, Value}),
From ! {kvs, true},
loop();
{From, {lookup, Key}} ->
From ! {kvs, get(Key)},
loop()
end.
Run Code Online (Sandbox Code Playgroud)
当我启动erlang时使用:erl -name zhao -setcookie abc
然后:rpc:call(fifar @ huihua.sohu-inc.com,kvs,store,[weather,cold]).
它显示错误:
(zhao@zjm1126.sohu-inc.com)1> rpc:call(fifar@huihua.sohu-inc.com,kvs,store,[weather,cold]).
** exception error: bad argument in an arithmetic expression …Run Code Online (Sandbox Code Playgroud) 我想在我的Fortran代码中使用$ HOSTNAME环境变量的值.
我这样做的尝试是:
CHARACTER(LEN=100) :: hostname
INTEGER :: status_value = 0
CALL GET_ENVIRONMENT_VARIABLE("hostname",hostname, STATUS=status_value)
IF (status_value == 2) THEN
WRITE(nout,*) 'WARNING: Processor does not support environment variables - hostname is unknown.'
hostname = 'Unknown'
ELSE IF (status_value == -1) THEN
WRITE(nout,*) 'WARNING: Hostname is too long for character variable - hostname is truncated.'
ELSE IF (status_value == 1) THEN
WRITE(nout,*) 'WARNING: $HOSTNAME environment variable does not exist - hostname is unknown.'
hostname = 'Unknown'
Run Code Online (Sandbox Code Playgroud)
但我的结果是我总是得到$ HOSTNAME不存在的结果.
我对状态值的解释基于此:http: //gcc.gnu.org/onlinedocs/gfortran/GET_005fENVIRONMENT_005fVARIABLE.html …
给定与我的Android设备位于同一网络上的计算机的IP地址,我必须找到其NetBIOS / FQDN名称...是否有任何“干净”的解决方案可通过Android SDK来实现,通常使用Java?
显然,InetAddress.get * HostName不返回NetBIOS名称:)
我希望能够从两个不同的主机名访问我的Sitecore网站,为此我<sites>在web.config中创建了一个新条目; 这里是代码片段(我省略了不相关的部分):
<site name="Site1" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" hostName="mysyte.dev" />
<site name="Site2" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" hostName="mysyte.mydev" />
Run Code Online (Sandbox Code Playgroud)
我已保存配置并重新发布整个网站只是为了确定,但无济于事:如果我访问第二个网站,我得到"找不到所请求文档的布局." 错误,显然是从请求布局{00000000-0000-0000-0000-000000000000}生成的.
IIS配置正确,两个主机名映射到相关网站中的同一端口 - 但只有其中一个工作.
我错过了一些非常明显的东西吗?
编辑:完整的网站条目如下:
<site name="Site1" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" hostName="mysyte.dev" startItem="/AppName" loginPage="/login" database="master" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false"/>
<site name="Site2" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" hostName="mysyte.mydev" startItem="/AppName" loginPage="/login" database="master" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false"/>
Run Code Online (Sandbox Code Playgroud) 我有一个shell脚本代码,可以在6个服务器中的任何一个上运行,一个文件得到更新.但是我需要维护一个公共文件来获取文件中最新的更改并在最新文件上应用某些逻辑.那么,我想知道当前服务器名称在特定时刻运行的位置?
这是我的代码,我已经修复了一个abc.com服务器我的公共服务器,我保存文件,下次我从中检索文件.但我还需要当前的服务器名称,因为某些操作需要基于当前服务器完成.所以,我只想添加一行代码,它让我回到运行它的当前服务器.
#!/bin/bash
# This code copies the file with latest changes to a common location.
server_name=abc.com
# backlog.txt is my file name
echo - removing the old files , if any
rm $server_name:/home/backlog.txt
echo "$server_name to copy the file"
scp /location/backlog.txt $server_name:/home/
echo "Copy complete."
exit 0
Run Code Online (Sandbox Code Playgroud)
还有这个:
#!/bin/bash
# This code copies back the common file from common server location "abc" and then make the changes into it. As I always need to work on the latest file. …Run Code Online (Sandbox Code Playgroud) 如果我回显一个包含$(hostname)命令的字符串,那么它工作正常.例如,在终端中运行:
echo "http://$(hostname)/main.html"
http://artur/main.html
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用echo打印时,如果我从一个文件中获取该字符串(以前将cat变为变量),则它不起作用:
$ cat site
http://$(hostname)/main.html
$ mysite=$(cat site)
$ echo $mysite
http://$(hostname)/main.html
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?任何的想法?
hostname ×10
bash ×2
.net ×1
android ×1
asp.net ×1
django ×1
echo ×1
erlang ×1
fortran ×1
fqdn ×1
httpcontext ×1
iis ×1
ip ×1
java ×1
javascript ×1
layout ×1
linux ×1
listen ×1
mysql ×1
netbios ×1
node.js ×1
python ×1
rpc ×1
server ×1
settings ×1
shell ×1
sitecore ×1
unix ×1
vb.net ×1
webserver ×1