我刚刚开始学习NHibernate,并且正在学习教程.在我自己的学习项目中,我为自己制定了一个问题.我有两张桌子:
Team:
TeamId*
Name
Match:
MatchId*
TeamAId
TeamBId
Run Code Online (Sandbox Code Playgroud)
模型实体是:
球队
public virtual int? TeamId { get; private set; }
public virtual string Name { get; set; }
public virtual IList<Match> HomeMatches { get; set; }
public virtual IList<Match> AwayMatches { get; set; }
Run Code Online (Sandbox Code Playgroud)
比赛
public virtual int? MatchId { get; private set; }
public virtual Team TeamA { get; set; }
public virtual Team TeamB { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是我对团队的映射:
<property name="Name" type="string">
<column name="Name" sql-type="nvarchar" not-null="true"/>
</property>
<bag name="HomeMatches" …Run Code Online (Sandbox Code Playgroud) 我需要为我的应用程序构建一个轻量级的http服务器,基本上它是一个服务器,它监听端口并输出有关请求,https和其他功能的状态信息.但我首先想知道在C++,linux和开源中是否存在这样的东西.
有谁知道这样的节目?
谢谢.
编辑:它应该能够支持高负载.
代理操纵头,所以我决定用js和php检查页面地址,如果它们相等=>没有代理.但我认为我的实施不正确.
<script src="http://code.jquery.com/jquery-1.5.1.min.js"></script>
<div id="JS" style="display:none">
<script>
</script>
</div>
<div id="noJS">Enable JS</div>
<script>
$(document).ready(function() {
$("#noJS").hide();
$("#JS").show().addClass("hasJS");
if($("#JS").hasClass("hasJS")) {
if($("#addrphp").text() == location.href) {
alert("no proxy");
}
else {
alert("proxy")
}
}
});
</script>
<?php
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>
<div id="addrphp" style="display:none;"><?php echo $url; ?></div>
Run Code Online (Sandbox Code Playgroud)
你觉得怎么样?这会阻止大多数代理吗?我的实现是否正确(这是做我想做的最好的方式)?
我正在从非SSL的源加载一些图像.为了不破坏我的SSL证书,我必须通过这个简单的PHP代理页面加载它们:
<?php
header('Content-Type: image/png');
if(isset($_GET['url'])){echo file_get_contents($_GET['url']);}
?>
Run Code Online (Sandbox Code Playgroud)
这很有效,但遗憾的是我的加载时间非常慢.有谁知道更快的代理图像方式?
多谢你们!
我正在尝试为我的企业构建一个简单的C#TCP代理,这样我就可以阻止员工访问某些网站.一切都很顺利,除了我无法看到用户试图访问的网站...我可以看到用户已经连接到我的代理服务器所以我知道我正在获得连接,但OnRecieve回调甚至没有解雇.我从插座读错了吗?
这是我的代码:
internal class AsyncState
{
public const int BufferSize = 4096;
public byte[] Buffer = new byte[AsyncState.BufferSize];
public Socket Socket;
public StringBuilder Content = new StringBuilder();
}
private void OnLoad(object sender, EventArgs e)
{
IPAddress[] addressCollection = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress ipAddress in addressCollection)
{
if (ipAddress.AddressFamily == AddressFamily.InterNetwork)
{
localEndPoint = new IPEndPoint(ipAddress, 8080);
Console.WriteLine("Local IP address found... " + localEndPoint.ToString());
break;
}
}
isListening = true;
thread = new Thread(new ThreadStart(
delegate()
{
serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, …Run Code Online (Sandbox Code Playgroud) 假设有一个名为whatisyourip.com的网页,我有一个名为changeip.com的网页.用户想通过changeip.com进入网站whatisyourip.com.通常,changeip.com将是一个代理服务器,因此用户可以隐藏他的IP地址.这就是用户如何在他们的国家/地区访问禁止的网页.但我想问一下,有没有办法通过changeip.com连接它而不使用它作为代理服务器时显示不同的ip地址到whatisyourip.com?
我使用Java套接字创建了一个代理服务器(Fwd和Reverse).
这将听取在浏览器中配置的8080上的传入请求并将它们转发到另一个Proxy Server2.
并读取server2发送的响应并将其写入浏览器.
同时代码将记录请求和响应,并阻止某些预定义的请求类型来自浏览器.
现在我想使用Jetty执行此操作,并且还支持HTTPS请求.
我搜索了一些例子,但没有找到.
这启动服务器在8080,我已在浏览器的代理设置中配置为代理端口.
import org.eclipse.jetty.server.Server;
import Handler.HelloHandler;
public class StartJetty
{
public static void main(String[] args) throws Exception
{
Server server = new Server(8080);
server.setHandler(new HelloHandler());
server.start();
server.join();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我用来监听请求并将响应写回浏览器的处理程序.
package Handler;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.AbstractHandler;
public class HelloHandler extends AbstractHandler
{
final String _greeting;
final String _body;
public HelloHandler()
{
_greeting="Hello World";
_body=null;
}
public HelloHandler(String greeting)
{
_greeting=greeting;
_body=null;
}
public HelloHandler(String greeting,String body) …Run Code Online (Sandbox Code Playgroud) 我使用PHP(WAMPServer)接收表单提交,然后使用CURL将文件传递到另一台服务器进行处理.
这是一个示例(不是实际代码):
$data = array(
'file' => '@'.$_FILES['key']['tmp_name']
);
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的CURL ...当我粘贴代码时,我注意到http_build_query()我的代码仍然存在......所以,这一定是问题所在.
$CURL = curl_init();
curl_setopt($CURL, CURLOPT_URL, $operation['callback']);
$query_string = http_build_query($arguments);
curl_setopt($CURL, CURLOPT_POSTFIELDS, $query_string);
curl_setopt($CURL, CURLOPT_POST, TRUE);
curl_setopt($CURL, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($CURL);
curl_close($CURL);
return $result;
Run Code Online (Sandbox Code Playgroud)
我的问题是最后一台服务器没有收到文件.相反,数据作为键值对传递.
$_POST contains 'file' => '@c:\wamp\tmp\xyz.tmp'
Run Code Online (Sandbox Code Playgroud)
我更喜欢的是文件被传输,$ _FILES有关于它的信息.
我在c中实现代理,并使用select()来阻止I/O. 有多个客户端连接到代理,因此我在我的消息中包含套接字描述符#,以便我知道从服务器转发回复消息的套接字.
但是,有时read()不会收到最多为空字符的完整消息,但会在下一轮select()中发送剩余的消息.我想立即收到完整的消息,以便我知道将回复转发到哪个套接字(缓冲将不起作用,因为当有多个客户端时我不知道哪个消息属于哪个消息).有没有办法在等待空字符到达时不会阻塞读取?
proxy ×10
php ×4
tcp ×2
asyncsocket ×1
c ×1
c# ×1
c++ ×1
curl ×1
file-upload ×1
html ×1
ip ×1
jetty ×1
jquery ×1
nhibernate ×1
performance ×1
security ×1
sockets ×1
ssl ×1
tunnel ×1