
    !hD                     X   S SK r S SKJr  S SKJrJrJrJr  S SKJ	r	  \ R                  " S\	5         " S S5      r " S S	\R                  5      rS
 r\S:X  aS  S SKJr  \R$                  " S \" 5       SS9r\" S\R+                  5       R&                   S35        \R,                  " 5         gg)    N)urljoin)resourceserverstaticutil)ScrapyDeprecationWarningz/The scrapy.utils.testsite module is deprecated.c                   F   ^  \ rS rSrU 4S jrU 4S jrS\S\4S jrSrU =r	$ )SiteTest   c                    > SSK Jn  [        TU ]  5         UR                  " S[        5       SS9U l        SU R                  R                  5       R                   S3U l	        g )Nr   reactor	127.0.0.1	interfacehttp://localhost:/)
twisted.internetr   supersetUp	listenTCP	test_sitesitegetHostportbaseurl)selfr   	__class__s     \/root/1688_scrapy/alibaba-scraper/venv/lib/python3.13/site-packages/scrapy/utils/testsite.pyr   SiteTest.setUp   sK    ,%%aL	*499+<+<+>+C+C*DAF    c                 V   > [         TU ]  5         U R                  R                  5         g N)r   tearDownr   stopListening)r   r   s    r   r$   SiteTest.tearDown   s    		!r!   pathreturnc                 .    [        U R                  U5      $ r#   )r   r   )r   r'   s     r   urlSiteTest.url   s    t||T**r!   )r   r   )
__name__
__module____qualname____firstlineno__r   r$   strr*   __static_attributes____classcell__)r   s   @r   r
   r
      s&    G"+ + + +r!   r
   c                   :    \ rS rSrS\R
                  S\4S jrSrg)NoMetaRefreshRedirect   requestr(   c                 d    [         R                  R                  X5      nUR                  SS5      $ )Ns   http-equiv="refresh"s!   http-no-equiv="do-not-refresh-me")r   Redirectrenderreplace)r   r6   contents      r   r9   NoMetaRefreshRedirect.render   s-    --&&t5#%I
 	
r!    N)	r,   r-   r.   r/   r   Requestbytesr9   r1   r=   r!   r   r4   r4      s    
fnn 
 
r!   r4   c                     [         R                  " 5       n U R                  S[        R                  " SS5      5        U R                  S[        R                  " SS5      5        U R                  S[        R                  " SS	5      5        U R                  S
[
        R                  " S5      5        U R                  S[        S5      5        U R                  S[        R                  " SS5      5        [        R                  " U 5      $ )Ns   texts   Worksz
text/plains   htmls=   <body><p class='one'>Works</p><p class='two'>World</p></body>z	text/htmls   enc-gb18030s   <p>gb18030 encoding</p>ztext/html; charset=gb18030s   redirects   /redirecteds   redirect-no-meta-refreshs
   redirecteds   Redirected here)
r   ResourceputChildr   Datar   r8   r4   r   Site)rs    r   r   r   &   s    AJJwHl;<JJL	
 JJ.0LM JJ{DMM.9:JJ*,A.,QRJJ}fkk*<lKL;;q>r!   __main__r   r   r   r   r   )warningsurllib.parser   twisted.webr   r   r   r   scrapy.exceptionsr   warnr
   r8   r4   r   r,   r   r   r   r   printr   runr=   r!   r   <module>rN      s       6 6 6 5+ + 
DMM 
( z(Q	{CD	dlln112!
45KKM r!   