check_http.sh
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:2k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. #!/bin/sh 
  2. # Use `test/test_http{,_server}' to test gwlib/http.c. 
  3. # Incuding the SSL client and server componentes, if, of course, SSL has been
  4. # enabled. 
  5.  
  6. set -e 
  7. #set -x
  8.  
  9. times=2 
  10. port="8040" 
  11. port_ssl="8041" 
  12. url="http://localhost:$port/foo.txt" 
  13. url_ssl="https://localhost:$port_ssl/foo.txt" 
  14. quiturl="http://localhost:$port/quit" 
  15. quiturl_ssl="https://localhost:$port_ssl/quit" 
  16. ssl_cert="gw/cert.pem" 
  17. ssl_key="gw/key.pem" 
  18. ssl_clientcert="/tmp/clientcert.pem" 
  19. loglevel=0
  20. ssl_enabled=yes 
  21.  
  22. cat $ssl_cert $ssl_key > $ssl_clientcert 
  23.  
  24. test/test_http_server -p $port -v $loglevel > check_http_server.log 2>&1 & 
  25. serverpid=$! 
  26.  
  27. sleep 1 
  28.  
  29. test/test_http_server -p $port_ssl -v $loglevel -s -c $ssl_cert -k $ssl_key > check_https_server.log 2>&1 & 
  30. serverpid_ssl=$!
  31.  
  32.  
  33. sleep 1 
  34.  
  35. test/test_http -r $times $url > check_http.log 2>&1 
  36. ret=$?
  37. test/test_http -r 1 -s -c $ssl_clientcert $url_ssl > check_https.log 2>&1 
  38. ret=$? 
  39. if grep 'SSL not compiled in' check_https.log > /dev/null
  40. then
  41.     echo 'do not check SSL, SSL not compiled in'
  42.     ssl_enabled=no
  43. fi
  44. if [ '$ssl_enabled' == yes ] 
  45. then
  46.     echo 'checking SSL connections, too'
  47.     test/test_http -r $times -s -c $ssl_clientcert $url_ssl > check_https.log 2>&1 ret=$?
  48. else
  49.     test/test_http -r 1 -s -c $ssl_clientcert $quiturl_ssl >> check_https.log 2>&1
  50.     rm -f check_https.log
  51. fi
  52.  
  53. test/test_http -r 1 $quiturl >> check_http.log 2>&1
  54. if [ $ssl_enabled == yes ]
  55. then
  56.      test/test_http -r 1 -s -c $ssl_clientcert $quiturl_ssl >> check_https.log 2>&1
  57. fi
  58.  
  59. sleep 2
  60. if grep 'ERROR:|PANIC:' check_http.log check_http_server.log  > /dev/null  
  61. then 
  62. echo check_http failed 1>&2 
  63. echo See check_http.log and check_http_server.log for info 1>&2 
  64. exit 1 
  65. fi 
  66. if [ $ssl_enabled == yes ]
  67. then
  68.     if grep 'ERROR:|PANIC' check_https.log check_https_server.log > /dev/null
  69.     then
  70.         echo check_https failed 1>&2
  71.         echo see check_https_log and check_http_server.log for info 1>&2
  72.         exit 1
  73.     fi
  74. fi
  75. rm check_http*.log
  76. rm $ssl_clientcert
  77. exit 0